What is Manjaro?

Manjaro, simply put, is an Arch Linux-based distribution. Manjaro’s goal is to make the powerful Arch more user-friendly, such as the installation process. Compared to Arch Linux installation where you have to use the command line for partitioning, mounting partitions, network card settings, etc., it directly provides a graphical installation interface similar to other Linux distributions and has some common settings already pre-configured, including some hardware drivers that will be installed automatically, and a desktop environment and common software pre-installed.

Because of its backing to Arch, it inherits the strong advantages of Arch Linux: the

  • The most complete support documentation, the Arch Linux wiki should be the most complete Linux operation manual at present
  • Support rolling update, one command can upgrade the whole system including software to the latest version without reboot
  • The most complete software repository, Arch Linux’s AUR repository contains the most complete and up-to-date Linux software, which can be installed with a single command

However, Manjaro has some additional features of its own, including.

  • Simplified, user-friendly installation process
  • Automatic detection of the computer’s hardware (e.g. graphics card)
  • Automatic installation of necessary software for the system (e.g. graphics card drivers)
  • Its own dedicated software repository to ensure the availability of fully tested and stable packages
  • Easy installation and use of multiple kernels.

Useful links.

Manjaro installation

The installation of Manjaro is very simple, just follow the interface guide all the way to Next. The only thing that may be confusing is which Linux desktop environment to install, after all, there are many supported desktop environments.

The official recommendations are.

  • XFCE: very lightweight, suitable for users with poor hardware conditions, occupying fewer resources
  • KDE: the operating interface is similar to that of Windows
  • ARCHITECH: command line version, similar to Arch Linux, later to install what are their own solutions, suitable for Geek
  • GNOME (GNOME3): operating interface similar to Mac OS

Community-maintained versions.

  • MATE: The continuation of GNOME2, you can choose to use GNOME3 if you are not used to it.
  • CINNAMON: the interface used by Mint Linux, using the technology of GNOME3, to achieve the interface of GNOME2
  • OPENBOX: the same a lightweight desktop, have not used, not quite understand the specific.
  • AWESOME: a highly customizable desktop system, suitable for Geek
  • BSPWM: lightweight tiled window desktop, not used.
  • BUDGIE: looks like the interface is based on GNOME2
  • I3: highly configurable tiled interface
  • DEEPIN: Developed by a domestic team, the interface is between Windows and Mac OS. the UI looks good

Because of the poor hardware of the installed laptop, the XFCE version was used. Also the DEEPIN version is quite interesting to try. -I’ve updated it to DEEPIN version.

Manjora post-installation configuration and software installation

1, update source (choose domestic one) and update system for the first time

1
2
3
sudo pacman -Syy
sudo pacman-mirrors -i -c China -m rank
sudo pacman –Syyu

2. Add Arch Linux Chinese community repository

Edit the /etc/pacman.conf file and add the following information to the file.

1
2
3
[archlinuxcn]
SigLevel = Optional TrustedOnly
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

Note: The image repo address can be obtained from https://github.com/archlinuxcn/mirrorlist-repo.

After the file is modified, the GPG key needs to be imported locally at

1
sudo pacman -Syy && sudo pacman -S archlinuxcn-keyring

3. Installing AUR management tools

To use the software in AUR, one way is to open AUR in the settings of the graphical software installation screen and then search for it to install, and the other is to use the command line tool to install it.

Since Yaourt is no longer maintained, Yay is chosen here to manage the software in the AUR repository.

1
sudo pacman -S yay

Yay defaults to using the French aur.archlinux.org as the AUR source, which can be changed to the domestic mirror provided by Tsinghua University.

The yay user executes the following command to modify aururl.

1
yay --aururl "https://aur.tuna.tsinghua.edu.cn" --save

The modified configuration file is located at ~/.config/yay/config.json

For yaourt users, modify /etc/yaourtrc by removing the # AURURL comment and modifying it to

1
AURURL="https://aur.tuna.tsinghua.edu.cn"

4. Install and configure Chinese input method

1
2
3
4
5
sudo pacman -S fcitx-googlepinyin #安装搜狗输入法无法启动,查询好像没法安装fcitx-qt4导致的
sudo pacman -S fcitx-im # 选择全部安装
sudo pacman -S fcitx-configtool # 安装图形化配置工具
sudo pacman -S fcitx-skin-material #皮肤
sudo pacman -S fcitx-cloudpinyin #需要在配置中附加组件里将云拼音来源改为百度,因为 Google 的服务在国内不稳定

Edit the configuration file ~/.xprofile (or create it if the file does not exist) and add the following.

1
2
3
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

If you install Sogou Input Method

sudo pacman -S fcitx-sogoupinyin

The problem will not work, the system prompts the following: Fix the Sogou input method exception! Please delete .config/SogouPY and restart.

However, installing the above operation does not solve the problem. From the command line, execute

sogou-qimpanel

You can get the following error message.

1
sogou-qimpanel: error while loading shared libraries: libfcitx-qt.so.0: cannot open shared object file: No such file or directory

Solution: Search fcitx-libs-4.2.9.6-alt2_4.x86_64.rpm, unpack it and get libfcitx-qt.so.0, copy libfcitx-qt.so.0 to /usr/lib. Here is the contents of libfcitx-qt.so.0 that others have already unpacked. Unpacked content.

1
sudo wget https://github.com/vvvxo/fcitx-libs-4.2.9.6-alt2_4.x86_64/blob/master/usr/lib64/libfcitx-qt.so.0?raw=true -O /usr/lib/libfcitx-qt.so.0

To install the Sogou Roulan skin.

yay -S sogoupinyin-skin-roulan

5. Install snap software management tool

Snap is another software installation and management tool (comes with it on Ubuntu). A software repository is provided. Relevant software information can be obtained by querying https://snapcraft.io/store. Installation process.

1
2
3
4
sudo pacman -S snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
sudo snap install snap-store # 使用命令行安装图形化界面

6. Delete some unwanted software

You can decide for yourself what to delete according to your needs.

1
2
3
4
5
6
sudo pacman -R libreoffice
sudo pacman -R audacious
sudo pacman -R xfburn
sudo pacman -R ms-office-online
sudo pacman -R xfce4-dict
sudo pacman -R orage

7. Installation of common software

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# deepin开发的一些软件
sudo pacman -S deepin-movie 
sudo pacman -S deepin-music
sudo pacman -S deepin-calculator
sudo pacman -S deepin-file-manager
sudo pacman -S deepin-calendar
sudo pacman -S deepin-draw
sudo pacman -S deepin-image-viewer
sudo pacman -S deepin-picker
sudo pacman -S deepin-screen-recorder
sudo pacman -S deepin-screenshot
sudo pacman -S deepin-system-monitor
sudo pacman -S deepin-voice-recorder
sudo pacman -S deepin-editor 
yay -S deepin-wine-tim
yay -S deepin-wine-wechat
yay -S deepin.com.thunderspeed
yay -S deepin-wine-qq

#浏览器
sudo pacman -S google-chrome

#办公
sudo pacman -S tusk #evernote第三方客户端
sudo pacman -S wps-office
sudo pacman -S ttf-wps-fonts
sudo pacman -S foxitreader #pdf阅读
sudo pacman -S youdao-dict
sudo pacman -S goldendict
yay -S buka #电子书管理
sudo pacman -S bookworm #电子书阅读器
yay -S xmind

#图形工具
sudo pacman -S gimp #PS
sudo pacman -S inkscape #AI
yay -S vidcutter #视频剪辑
sudo pacman -S krita

#娱乐
sudo pacman -S netease-cloud-music
sudo pacman -S webtorrent-desktop-bin
yay -S popcorntime
sudo pacman -S steam

#教育
sudo pacman -S scratch #幼儿编程
sudo pacman -S stellarium #天文
sudo pacman -S gcompris-qt #幼儿游戏
yay -S google-earth

# JAVA开发环境
yay -S jdk  #可使用archlinux-java命令切换
sudo pacman -S jdk-openjdk
sudo pacman -S maven
sudo pacman -S gradle
sudo pacman -S intellij-idea-ultimate-edition
sudo pacman -S android-studio
# GO语言开发环境
sudo pacman -S go
sudo pacman -S goland
# 前端开发环境
sudo pacman -S nodejs
sudo pacman -S npm
sudo pacman -S webstorm
sudo pacman -S atom
sudo pacman -S visual-studio-code-bin
# Python开发环境
sudo pacman -S pycharm-professional
# C语言开发环境
sudo pacman -S geany
sudo pacman -S codeblocks
sudo pacman -S clion
sudo pacman -S qtcreator
# Python开发环境
yay -S phpstorm
# ruby开发环境
yay -S ruby
yay -S rubymine
# R语言开发工具
sudo pacman -S rstudio-desktop-bin
# 数据库
sudo pacman -S dbeaver
sudo pacman -S mysql-workbench
sudo pacman -S mycli
yay -S datagrip
# REST模拟工具
sudo pacman -S postman-bin
sudo pacman -S insomnia
# 抓包工具
yay -S charles
sudo pacman -S wireshark-qt
# GIT管理工具 
sudo pacman -S gitkraken
# 图案压缩
yay -S trimage

# 系统工具
sudo pacman -S vim
sudo pacman -S albert #类似Mac Spotlight,另外一款https://cerebroapp.com/
yay -S remarkable #Markdown
yay -S marktext-bin
sudo pacman -S gedit
sudo pacman -S nano
sudo pacman -S pencil
sudo pacman -S nmap
sudo pacman -S zeal
sudo pacman -S unarchiver #unar解压缩
sudo pacman -S fish
sudo pacman -S electron-ssr
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
yay -S font-manager-git
sudo pacman -S teamviewer

#下载工具
sudo pacman -S aria2 #命令行工具
sudo pacman -S baidunetdisk-bin

#系统美化
yay -S la-capitaine-icon-theme #或下载后解压到/usr/share/icons

8. Install Chinese fonts

1
2
sudo pacman -S adobe-source-han-sans-cn-fonts
sudo pacman -S adobe-source-han-serif-cn-fonts

Microsoft elegant black: https://github.com/fphoenix88888/ttf-mswin10-arch

Chinese open source font set: https://github.com/DrXie/OSFCC

Manual installation of fonts method: the fonts will be font files down to the corresponding directory: the

  • Global user: /usr/share/fonts/
  • Single user: ~/.local/share/fonts

When finished, execute.

fc-cache -vf

9. Installation of Anaconda environment

1
sudo pacman -S anaconda

Return to content.

1
2
3
4
5
6
Please run

    $ source /opt/anaconda/bin/activate root
    $ source /opt/anaconda/bin/deactivate root

to activate and deactivate the anaconda enviroment.

Then run.

1
2
source /opt/anaconda/bin/activate root
pip install jupyterlab #相比jupyter notebook体验更好。

If activation is too cumbersome, you can add the following to the .bashrc file in the user directory

1
export PATH=/opt/anaconda/bin:$PATH

To download Python packages more quickly, you can modify the pip source

The above installation method uses root for installation, which leads to permission problems when installing Python later. Solution.

  1. Download the .sh installation file from the Anaconda official website
  2. Execute the following command to enter the installation sh . /Anaconda3-2019.07-Linux-x86_64.sh
  3. add export PATH=~/anaconda3/bin:$PATH to the ~/.bashrc file
  4. finally update the configuration source ~/.bashrc
  5. Install Jupyter Lab: pip install jupyterlab

Since the server of Anaconda.org is abroad, it is usually slow to download using conda in China. So you usually use Tsinghua TUNA mirror source in China.

1
2
3
4
# 添加Anaconda的TUNA镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
# 设置搜索时显示通道地址
conda config --set show_channel_urls yes

10. Installation of MYSQL

1
2
3
4
5
6
sudo pacman -S mariadb
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
sudo systemctl start mariadb
sudo /usr/bin/mysql_secure_installation
sudo systemctl enable mariadb
mysql -u root -p

11. Installation of PostgreSQL

1
2
3
4
sudo pacman -S postgresql
sudo -u postgres -i initdb --locale $LANG -E UTF8 -D /var/lib/postgres/data
sudo systemctl start postgresql.service
sudo systemctl enable postgresql.service

After the initialization is complete, the configuration file and system libraries are created. Next, edit the configuration files. The configuration files are located in the data directory you just created. First modify the postgresql.conf file, remove the comment character in front of listen_address, and change the content to * if you want to listen to all IPs.

Then modify the pg_hba.conf file by changing.

1
2
host    all             all             127.0.0.1/32            ident
host    all             all             ::1/128                 ident

Modify to

1
2
host    all             all             127.0.0.1/32            md5
host    all             all             ::1/128                 md5

The pg_hba.conf file format declares.

  • TYPE connection type, which indicates which methods are allowed to connect to the database, and it allows the following values.
    • local connects via Unix socket.
    • host connects via TCP/IP, which can match SSL and non-SSL connections.
    • hostssl allows only SSL connections.
    • hostnossl allows only non-SSL connections.
  • DATABASE Connectable databases, it has the following special values.
    • all Matches all databases.
    • sameuser connects to databases with the same user name.
    • samerole allows connections to databases with the same role name.
    • replication allows replicated connections for database synchronization in a clustered environment. In addition to the above special values, we can write specific databases, and can split multiple databases with commas (,).
  • USER The user to which the database can be connected. The value can be written in three ways.
    • all Matches all users.
    • Database specific user name.
    • A specific database user group, which needs to be preceded by + (e.g., +admin).
  • ADDRESS The address to which the database can be connected, in the following forms.
    • all Matches all IP addresses.
    • samehost matches the IP address of this server.
    • samenet Matches the IP address under the subnet of this server.
    • ipaddress/netmask, supports IPv4 and IPv6.
    • If none of the above forms match, it will be treated as hostname. Note: Only host, hostssl, hostnossl will apply a field.
  • METHOD The authentication method for connecting to the database, with several common special values.
    • trust Unconditionally pass authentication.
    • reject Unconditionally deny authentication.
    • md5 Authentication with an md5 encrypted password.
    • password Authenticate with a clear-text password, not recommended for use on untrusted networks.
    • ident Obtain the client’s OS username from an ident server (RFC1413) and use it as the allowed database username for authentication, only for TCP/IP types (i.e. host, hostssl, hostnossl).
    • peer gets the client’s OS username from the kernel and uses it as the allowed database username for authentication, and can only be used for local connections (i.e. local).
    • Other special values can be found in the official documentation. In short, both ident and peer require the presence of the corresponding user in the client OS. Note: Only the md5 and password listed above require a password, the other methods do not require password authentication.

Restart the service after modification.

1
sudo systemctl restart postgresql.service

Set the login password for the postgres account.

1
2
3
sudo -u postgres -i
psql
postgres=# alter user postgres with password 'new password'

12. Change the Chinese folder in the user directory to English

1
2
3
4
5
6
sudo pacman -S xdg-user-dirs-gtk
export LANG=en_US
xdg-user-dirs-gtk-update
#然后会有个窗口提示语言更改,更新名称即可
export LANG=zh_CN.UTF-8
#然后重启电脑如果提示语言更改,保留旧的名称即可

13、Time-synchronization problem of dual system

If you install a dual system (Windows, Linux) will have the problem of time is not synchronized, the reason is that Window records the time using locatime, while windows records the time is UTC. so when the system will synchronize the time to the hardware will be a problem. The simple solution is to set the time under Linux to unlocaltime.

1
2
timedatectl set-local-rtc true  #设置
timedatectl set-local-rtc false #还原

** Other software to be tried**

Reference links :.