SEN YUE IS A LIE

Linux 图形使用踩坑指北

这里是一些简单的 Linux DE 问题的解决方法。

最开始写的时候用的是 Manjaro Gnome,本想着记录安装的过程,后来踩了不少的坑,便把解决方法写了进去。 到现在,它也不只是用于 Manjaro 了, 于是就把标题改成了Linux 图形使用踩坑指北,也许能解决一些困难吧。

基础

安装

这里的内容等待完善!

Manjaro 官网下载 Manjaro。 注意在安装系统前需要进行 PGP 校验,以确保镜像未被修改。

安装前配置

为确保系统安装使用正常,需要在 BIOS 里关闭Secure Boot,如果使用 Windows 系统,则还要在 Windows 里关闭快速启动,否则可能会导致网卡无法驱动,或无法正确挂载 ntfs 的问题。

启动到 Live CD

你可以使用 Ventoy 来从 iso 文件启动,或者用 Etcher 或者 Rufus 写入到 U 盘。 *注意备份 U 盘数据!

从 Live CD 安装

启动菜单里选择 U 盘启动,然后你就会看到启动菜单。

正常来说直接按Enter键进入 LiveCD 系统。

打开 Install Manjaro 程序,可以设置安装程序和安装后系统的语言。

接下来就一直点击下一步按钮,直到分区选项。

选择手动分区,来自定系统分区。

在我的机器上我分了这几个分区,就像这样:

分区 大小 文件系统 挂载点 标记
boot 分区 大于 500 MB fat32 /boot bios-grub
交换分区 8192 MB linuxswap swap
根目录 102400 MB btrfs /
家目录 剩下的全部 ext4 /home

对于根目录,推荐使用 btrfs 文件系统是因为可以方便地备份,防止滚炸系统。

如果有需要同时对家目录拍摄快照,那么也可以不分出家目录。

配置完成后,一直点击下一步,直到系统安装完成。 安装完成后便可点击现在重启按钮,来离开 LiveCD。

至此,Manjaro 就安装完成。

配置

更换软件源

这里的内容等待完善!

重启后进入系统,连接网络,然后更换软件源。 启动终端,输入

sudo pacman-mirrors -i -c China -m rank

在弹出的窗口选择最快的源,只需要选择一个。

对于 archlinuxcn 源,那是专为 arch 的,不建议在 Manjaro 上使用,否则可能会出现依赖错误。

然后更新系统,在终端中输入命令

sudo pacman -Syyu

或者

yay

Manjaro Linux 已经安装好了 aur 工具,所以不需要再进行配置了。

把用户目录改成英文

默认的用户文件夹下的中文目录,就是这样:

.
├── 桌面
├── 文档
├── 下载

...

在使用时要频繁切换输入法,造成不便。 所以我们用下面的命令来切换到英文:

export LANG=en_US
xdg-user-dirs-gtk-update
export LANG=zh_CN

如果提示未找到命令,可以这样来安装:

sudo pacman -S xdg-user-dirs-gtk

在弹出的窗口点击右边的转换按钮来切换到英文,再次切换到中文后勾选不要再提醒,就把家目录下的文件夹改变成英文了。

软件包管理器

Arch 系发行版使用 pacman 来管理软件包。 但因为其软件包不够多,所以就有了 AUR。 AUR 全称 archlinux user repository,这给 arch 系发行版带来了海量的包。

yay 为安装 aur 包的工具。

在 Manjaro 自带的软件商店 Pamac 中也可以启用 aur 支持。

以下是一些 pacman 和 yay 的命令:

# yay的用法与pacman相同
pacman -S package_name        # 安装软件
pacman -S extra/package_name  # 安装不同仓库中的版本
pacman -Syu                   # 升级整个系统,y 是更新数据库,yy 是强制更新,u 是升级软件
pacman -Ss string             # 在包数据库中查询软件
pacman -Si package_name       # 显示软件的详细信息
pacman -Sc                    # 清除软件缓存,即 /var/cache/pacman/pkg 目录下的文件
pacman -R package_name        # 删除单个软件
pacman -Rs package_name       # 删除指定软件及其没有被其他已安装软件使用的依赖关系
pacman -Qs string             # 查询已安装的软件包
pacman -Qi package_name       # 查询本地安装包的详细信息
pacman -Ql package_name       # 获取已安装软件所包含的文件的列表
pacman -U package.tar.zx      # 从本地文件安装
pactree package_name          # 显示软件的依赖树

yay -c  # 卸载所有无用的依赖,类似 apt autoremove,谨慎使用!

显卡驱动

使用自带工具管理

这里的内容等待完善!

参考自知乎知乎

一般来说,使用 Manjaro 的驱动管理程序,或是在终端输入:

sudo mhwd -r pci video-linux
sudo mhwd -a pci nonfree 0300
其他情况

以上的内容应该能解决问题了,但如果有其他情况,可以在这里看看。

备份

系统备份

Manjaro 系统自带 timeshift 备份软件。

如果根目录使用 btrfs ,那么在执行系统更新时,timeshift 会自动创建备份。

在配置 timeshift 时,如果安装用了 btrfs 分区,那么快照类型就可以选择 btrfs 快照。 如果安装时未分出/home 分区,在用户一栏可以选中在备份中包含@home子卷,这样在备份时就能备份用户分区。

如果系统炸了,那么就可以启动到 LiveCD 系统里,打开 timeshift,选择备份所在的分区,选择好你要恢复的备份,点击恢复按钮,一瞬间你的系统就能恢复好。

在恢复系统的同时,目前使用的系统也会得到一个备份。

文件备份

建议安装deja-dup软件备份。

输入法

Linux 下的输入法分为输入法框架和输入法引擎。

中文输入法的框架有 ibus 和 fcitx ,但在这里还是推荐 fcitx5。

这里简单介绍输入简体中文的配置。

配置 Fcitx5

终端输入以下命令来安装:

sudo pacman -S fcitx5 fcitx5-configtool fcitx5-qt fcitx5-gtk  fcitx5-material-color

为了正常使用,需要配置环境变量。 ArchWiki 的教程有改动,且简中翻译与英文配置也有所不同,经过测试以下的方法仍能正常使用,所以就照着下面的做吧。

用文本编辑器创建并打开这个文件 ~/.pam_environment,输入以下内容:

GTK_IM_MODULE DEFAULT=fcitx
QT_IM_MODULE  DEFAULT=fcitx
XMODIFIERS    DEFAULT=\@im=fcitx
SDL_IM_MODULE DEFAULT=fcitx

重新登录使环境变量生效。

对于配置 fcitx5 的按键或切换主题,打开 fcitx5 设置 以具体更改。

若更换 fcitx5 的主题,打开 fcitx5设置> 配置附加组件 >经典用户界面>主题以更改。

若更换 fcitx5 的快捷键,打开 fcitx5设置> 配置全局选项 以更改。

对于 KDE Plasma 用户来说,应该可以在 系统设置>区域设置>输入法里找到 fcitx5 的设置选项。

使用 Fcitx5 引擎进行输入

以上安装的只是其框架,需要正常使用还需要安装引擎。 fcitx5-chinese-addons 是其支持的引擎之一,且配置较为方便,支持云拼音。

终端输入以下命令来安装:

sudo pacman -S fcitx5-chinese-addons

随后在 Fcitx5 配置里添加即可。

使用 Rime 进行输入

或者也可以使用 rime 来输入。

RIME 中州韵输入法引擎(英语: Rime Input Method Engine,又称 Rime 输入法)是由佛振编写的开源中文输入法,目前项目网站、源代码均托管在 GitHub。 基于同一个核心架构,该输入法分为三个官方发行版: Linux 发行版中州韵(ibus-rime)、Windows 发行版小狼毫(Weasel)、macOS 发行版鼠须管(Squirrel)。 另有数个第三方发行版: Linux 发行版 fcitx-rime、Windows 发行版 PRIME、macOS 发行版 XIME、Android 发行版同文输入法(Trime)、iOS 发行版 iRime。

这里的教程比较简陋,如果有需要可以到 ArchWiki 查看详细教程。

终端输入以下命令来安装:

sudo pacman -S fcitx5-rime
Rime 配置

Rime 的配置很复杂,这里介绍下自用的 rime 配置:

下载 这份配置 并把所有的文件放到~/.local/share/fcitx5/rime目录下,并对 fcitx5 重新启动。

如果一切正常,就可以在百分之九九的应用里进行中文输入了。

进阶

软件及配置

这里是些常用软件

# 直接复制命令到终端运行即可
# 在命令行看系统信息 neofetch
yay -S neofetch
# 谷歌浏览器 Google Chrome
yay -S google-chrome
# Edge浏览器
yay -S microsoft-edge-dev-bin
# 深度截图 截图工具
sudo pacman -S deepin-screenshot
# WPS Office Office文档
yay -S  wps-office wps-office-mui-zh-cn wps-office-fonts ttf-wps-fonts
# gimp 开源图片编辑工具
sudo pacman -S gimp
# obs 直播录屏工具
yay -S obs-studio
# motrix 下载工具
yay -S motrix-appimage
# vlc 视频播放器
yay -S vlc
# 网易云音乐
sudo pacman -S netease-cloud-music
# remmina 远程桌面,需要安装拓展
sudo pacman -S remmina
# solaar 罗技控制
yay -S solaar
# geary 邮件
yay -S geary
# typora 优雅的 markdown 编辑器
## 免费版本
yay -S typora-free-cn
## 付费版本
yay -S typora

ZSH

最新的 manjaro 版本默认使用 zsh 和 oh-my-zsh。

Java

在 aur 里安装zulu-jdk-fx-bin,这是一个 openjdk 的发行版,带着 javafx。

系统环境变量也已经配置好,终端输入java -version查看详细信息。

VSCode

这里简单介绍,完整可看 ArchWiki.

微软的最完整的 VSCode 是专有软件,也只有这个版本支持同步。 使用 yay 安装visual-studio-code-bin

在 Arch 上还有两个开源版本,分别为 codevscodium,它们的插件库并不完全相通。 如果需要最完整的体验,还是需要安装专有版本。

使用同步需要使用 Gnome 的钥匙串,对于 KDE Plasma 用户来说,可能需要安装gnome-keyring来解决。

对于gnome-keyring的一些问题,文末有解决方法。

用 Wine 曲线救国

这里的内容等待完善!

找到一个叫 Bottles 的应用,可以代替一部分的 Crossover 的功能。

字体

在系统里,有些字体需要安装,有的适用于终端,有的适用于系统界面,这里扔几个链接: 思源黑体HackDejaVu Fonts,微软雅黑,Nerd-fonts

当然,还有些字体直接从 win 下复制就好,从 win 的系统文件夹下的字体文件夹/Windows/Fonts复制.ttf.ttc字体到/usr/share/fonts/Windows文件夹,就添加了 win 下的字体。

对于 Emoji 来说,建议安装 noto-fonts-emoji-apple软件包。

魔法上网

这里的内容等待完善!

给 Gnome 的一些教程

界面缩放

对于 Gnome 来说,缩放议设置仅缩放字体。

优化程序里的字体一栏,设置缩放比例即可。

而在其他应用中,就像 firefox 之类的网页浏览器,可以在该程式设置里自行调整缩放。

系统字体与 GTK 应用字体

系统字体与 GTK 应用的字体在优化程式里配置。

QT 程式字体

使用 qt5ct 进行调整。

Gnome Terminal

*Gnome 42 好像更换了终端应用,这里的教程可能无法适用。

系统默认的终端在某个版本之后就没法设置透明度了,所以我们要使用另一个版本。

安装gnome-terminal-transparency来替换掉默认的gnome-terminal,注意二者不能共存,在安装gnome-terminal-transparency之前需要将gnome-terminal卸载。

Manjaro Gnome 自带 oh-my-zsh 和 p10k 主题,但是配置 p10k 主题可能会有一些问题。

当在终端里输入p10k configure来配置时,可能会遇到 [ERROR] p10k configure: cannot create /usr/share/zsh/p10k.zsh because /usr/share/zsh is readonly 的问题,在 manjaro forum 上有解决方法

用你喜爱的文本编辑器打开/usr/share/zsh/manjaro-zsh-prompt文件,可能需要管理员权限。

找到第 15 行的[[ ! -f /usr/share/zsh/p10k.zsh ]] || source /usr/share/zsh/p10k.zsh,把这行注释掉。

保存后重新打开终端,应该就能进入 p10k 的配置界面。 如果没有进入配置界面,尝试输入p10k configure

系统托盘

对于扩展应用,需要注意的是,开启系统托盘是AppIndicator and KSatusNotifierItem Support扩展的功能,如果在托盘中找不到 fcitx5 的菜单,可以把这个扩展打开。

系统 GTK 主题

在完全使用主题之前,需要将扩展里的User Themes打开。

如果你喜欢material design的话,推荐在包管理器里下载安装materia-gtk-theme主题,并在优化里将shell应用程序选成Materia,随后重新登录系统。

QT 程式的主题

打开 qt5ct,简单配置下即可。

给 KDE 的教程

推荐这个教程

这里的所有KDE 均指KDE Plasma

缩放

KDE 的桌面有的地方缩放不正常,这时可以在 /etc/environment 里添加:

PLASMA_USE_QT_SCALING=2

其中2为系统缩放倍数。 (如果非整数会工作吗? 我不知道。)

对于非整数倍缩放来说,GTK 里的部分控件可能过小,那么便可以在环境变量中添加如下内容以解决:

export GDK_SCALE=2
export GDK_DPI_SCALE=0.5

主题

KDE 中的微风主题观感还不错,如果需要修改也可以很方便地在设置中获取。

对于 GTK 应用来说,推荐安装 materia-gtk-theme ,并在系统设置中的GNOME/GTK 应用程序风格中修改。

默认的微风图标看上去可能不大好,这里推荐在包管理器中安装papirus-icon-theme并选用。

Wayland or X11

这里的内容等待翻新!

游戏

Minecraft

在 manjaro 上玩 mc 的最佳方式是使用 multimc 启动器

在 pacman 里安装multimc-native以确保拥有较新的特性。

根据之前的 java 安装,应该可以在启动器里识别到 java 版本。

若按照之前的独显配置,既想启动 mc 使用独显,需要在终端里输入prime-run multimc来使用独显启动 multimc 启动使用独显启动的 mc。

若想直接在桌面图标启动使用独显驱动的游戏,便可以在/usr/share/applications里修改multimc.desktop文件,把Exec=multimc改成Exec=prime-run multimc,注销系统后便可以在桌面图标启动独显版游戏。

Steam

使用 steam 版本的 wine 来游玩仅支持 win 下的游戏。 具体详细配置看这支视频

虚拟机

在 linux 下的虚拟机推荐 vmware,用 pacman 下载安装vmware-workstation,貌似只有英文。

第一次启动时会要求输入密钥,自己查找输入。

安装完成后一般是启动不了的,会报错could not open /dev/vmmon:????????。 看到有人说在 bios 里关闭安全启动,但不起效果,最终是安装了linux513-headers解决了问题。 需要注意'513’为内核版本号,安装时要与系统内核版本相对应。

相关问题

KDE 下 GTK4 程序缩放问题

某些时候 GTK4 应用的缩放会不正确(本应缩放 2 倍却错误缩放成 4 倍),解决方案转自KDE 社区

/home/sen/.config/gtk-4.0/settings.ini里的字体大小( gtk-font-name=Noto Sans, 10 中的数字)减半即可。

KDE 下动画速度无法调节

删除 ~/.config/kwinrc即可,但会丢失某些桌面特效设置。

某些 71 键键盘的 Fn 键配置

转自叶寻的博客

某些 71 键键盘在 KDE 下的组合 Fn 键只是媒体键,而无法正常使用其功能。 临时解决方法:

echo 2 | sudo tee /sys/module/hid_apple/parameters/fnmode

但重启后会失效。

要想其永久生效,则需要终端输入:

echo options hid_apple fnmode=2 | sudo tee -a /etc/modprobe.d/hid_apple.conf
sudo mkinitcpio --allpresets

KDE 下的 Gnome Keyring 自动解锁

GNOME Keyring (密钥环) 是 GNOME 用来存储密码,密钥,证书,并提供给应用程序使用的组件集合。 它让密码存储安全且便捷。 GNOME Keyring (密钥环) 和用户登录集成,因此在用户登录会话之后,密码存储会自动解锁,无需再为应用程序输入密码。 GNOME Keyring (密钥环) 基于 PKCS#11 标准,是应用程序在智能卡和安全存储中管理证书和密钥的标准方法。

在 GTK 应用读取密钥环时,会提示需要输入密码,根据 OpenSUSEWIKI 的介绍,编辑 /etc/pam.d/sddm 并添加 pam_gnome_keyring.so

auth     optional       pam_gnome_keyring.so
session  optional       pam_gnome_keyring.so auto_start

完成后应该是这样的:

#%PAM-1.0
auth     include        common-auth
auth     optional       pam_gnomexport GDK_SCALE=2
export GDK_DPI_SCALE=0.5e_keyring.so
account  include        common-account
password include        common-password
session  required       pam_loginuid.so
session  include        common-session
session  optional       pam_gnome_keyring.so auto_start

然后就可以了。

*这篇文章中代码块的高亮无法被正常显示,若有需要请到源 Wiki 查看!

在 Dolphin 里挂载磁盘需要输入密码

解决方法转自元素碎语

在 KDE 下用 Dolphin 挂载本地分区回要求输入密码,查看自己所在的用户组已经处在 storage 下。 解决方法就是再输入

gpasswd -a 你的用户名 storage

即可。

最后

推荐很棒的这两篇 ArchLinux 入门教程: