文章目录 [隐藏]
前言
以前就有听说 Manjaro 大大简化了 Arch 繁琐的安装,而且排名也相当不错,但一直没有尝试。正好 @某昨在群里提到,于是我就心血来潮的装了个试试。Manjaro 是我第三次尝试(之前是 Ubuntu 和短暂的 Deepin)将 Linux 作为一个独立系统(而非 WSL、虚拟机)用于日常使用。经过一段时间的使用体验后,我深刻体验到了 Arch 系软件包之全的好处,其社区之完善与软件包质量之高是我之前未曾想到的。不过,其实 Manjaro 诸多软件的安装、配置还是有一些需要注意的地方,于是在这篇文章中我会记录我在系统配置、安装软件时遇到的坑,与一些解决方法。
文中使用的桌面环境为 KDE。文章将会持续更新。如有问题或希望贡献你自己的经验,欢迎留言或发邮件至 admin@kaaass.net。
注意
关于安装 若无特别声明,文章中 “安装” 指的是执行 pacman 命令(
sudo pacman -S 包名
)或通过包管理器(如 Octopi)进行安装。“通过 AUR 安装” 指的是执行yay -S 包名
或yaourt -S 包名
进行安装,或通过包管理器打开 AUR 选项安装。包名会使用格式包名
予以区分。
关于编辑 若无特别声明,文章中 “编辑文件” 指的是使用文本编辑器编辑某个文件。命令行中,可以使用 nano:sudo nano 文件
。或者可以执行kate 文件
以使用 kate 编辑器打开文件。
配置
软件源及镜像
Pacman
执行 sudo pacman-mirrors -i -c China -m rank
,选择速度较快的镜像即可。之后运行 sudo pacman -Syy
进行更新。
archlinuxcn
执行 sudo nano /etc/pacman.conf
(或使用其他编辑器),在文件末尾增加:
[archlinuxcn] Server = https://repo.archlinuxcn.org/$arch
之后运行 sudo pacman -Sy
更新,并安装 archlinuxcn-keyring
(sudo pacman -S archlinuxcn-keyring
)即可。
需要注意的是,archlinuxcn 的仓库位于欧洲,所以可以使用相关的镜像(GitHub)。
AUR
使用 pacman 安装 yay
或者 yaourt
即可,我个人偏向于使用 yay。
系统更新
完成系统安装和镜像配置后,建议进行一次滚动更新,执行 sudo pacman -Syu
即可。
滚动更新后中文变为方块
安装 wqy-microhei
(sudo pacman -S wqy-microhei
)。
HiDPI
KDE
(整数倍放大推荐)相较 GNOME,KDE 的缩放调整可谓感人,只需要在系统设置→显示和监控→显示配置→缩放显示进行调整就行,整体调整过程简单如 Windows。但是,其实非整数倍调整还存在相当数量的问题。比如 Konsole 和 Kate 中会不时出现迷之条纹,还有窗体图标的放缩问题。
(非整数倍放大推荐)替代的调整方法是分别调整字体和图标大小。字体的调整方式为,打开系统设置→字体,勾选 “固定字体 DPI” 并调整 DPI 的值。对于我的笔记本,由于缩放比为 120%,于是 96*1.2≈115。图标的调整方式为,打开系统设置→图标→配置图标大小。我的设置是所有图标向右 1 格,不过会比 120% 稍微大一点,但是图标的锯齿问题也就消失了。虽然大部分情况都是正常的,但是这样设置也是有一点问题的,比如部分列表项会溢出。
需要注意的是,无论哪种方式都不会影响托盘图标。可以将 PLASMA_USE_QT_SCALING 设置为 1,但是最简单的解决方式就是直接调整高度。点击 “配置面板…”,拖动 “高度” 按钮即可。
Wine
对于默认环境的 wine 程序,可以运行命令 winecfg
,在显示→屏幕分辨率进行调整。对于 deepin-wine 环境,可以运行命令 deepin-wine winecfg
,如果使用了 deepin-wine5 则是 deepin-wine5 winecfg
。对于特定环境的程序(比如 AUR 的 Tim、QQ、微信等),需要特定环境变量 WINEPREFIX。建议关闭程序后运行此命令。常用程序更改如下:
- TIM:
env WINEPREFIX="$HOME/.deepinwine/Deepin-TIM" deepin-wine winecfg
- QQ:
env WINEPREFIX="$HOME/.deepinwine/Deepin-QQ" deepin-wine winecfg
- 微信:
env WINEPREFIX="$HOME/.deepinwine/Deepin-WeChat" deepin-wine winecfg
系统 HiDPI 设置无效(KDE)
如果出现系统设置 “固定字体 DPI” 无效的情况,请检查是否安装 gnome-settings-daemon
(通常为了解决 QQ/TIM 无法打开安装)。gsd 会破坏 KDE 系统本身的字体设定。如果安装了,卸载(执行 sudo pacman -R gnome-settings-daemon
)并删除相关的启动项即可。
GTK 应用的主题
打开系统设置→应用程序风格→GNOME/GTK 应用程序风格。建议修改光标主题与 “工作空间主题” 的一致。
托盘图标不显示
右击托盘图标空白处,选择 “配置 系统托盘…”,在 “项目” 中可以逐一更改托盘图标的显示设置。
Win 双系统下时间错误
打开系统设置→时间和日期,首先确认时区设置正常(最好与 Windows 保持一致)。勾选 “本地时区的硬件时钟”,并调整时间为当前时区的时间,或者可以使用自动设置。
KWallet 相关
KDE 钱包是 kde 桌面自带的密码管理工具。
配置自动解锁
安装 kwallet-pam
。打开钱包管理器,更改名为 kdewallet 钱包的密码(若无则新建一个钱包,使用 blowfish 方式加密),密码与当前用户登录密码相同。
如果还是提示需要输入密码打开,可以尝试删除 kdewallet 再新建一个。
关闭 KWallet
如果实在觉得厌烦,可以直接关闭 KWallet。打开系统设置→账户详细信息→KDE 钱包,取消勾选 “启用 KDE 钱包子系统”。不推荐完全关闭 KWallet,因为大多程序(如:IntelliJ IDEA、Chrome、KMail)都会将密码保存在 KWallet 中,若完全关闭 KWallet 可能会造成一些安全问题。
Gnome Keyring
配置默认密钥环自动解锁
默认情况下,每次重启后都需要解锁默认密钥环。通过配置可以达到和 KWallet 一样使用登录密码解锁的效果。首先要设置默认密钥环的密码与登录密码一致,通过安装 seahorse
包可以使用 GUI 程序更改其密码。
之后,对于 SDDM(KDE Plasma 5 默认)则编辑 /etc/pam.d/sddm
,在文件中增加两行:
#%PAM-1.0 auth include system-login auth optional pam_kwallet5.so auth optional pam_gnome_keyring.so account include system-login password include system-login session include system-login session optional pam_kwallet5.so auto_start session optional pam_gnome_keyring.so auto_start
之后重启时还会要求解锁默认密钥环,但是下方会多一个默认解锁的选项,勾选并解锁后就会启用自动解锁。
SSHD
配置 ssh 密钥密码临时保存
在使用 ssh 连接服务器或 Github 提交时,会频繁的要求输入密钥,非常麻烦。不过 OpenSSH 其实自带一个 SSH Agent,可以用来缓存密钥的密码。启用方式如下:
- 创建并编辑文件
~/.config/systemd/user/ssh-agent.service
为如下内容:
[Unit] Description=SSH key agent [Service] Type=simple Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK [Install] WantedBy=default.target
- 运行指令
systemctl --user enable ssh-agent
与systemctl --user start ssh-agent
。 - 在 shell 配置文件中(默认是
.bashrc
,如果 zsh 则编辑.zshrc
)增加一行:
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
- 在文件
~/.ssh/config
增加一行:
AddKeysToAgent yes
安装后桌面图标不显示
如果遇到安装后桌面图标不显示的问题,右击程序启动器(通常是左下角的 Manjaro 图标),选择 “编辑应用程序…”。之后点击编辑→恢复到系统菜单即可。
软件
Chrome
安装
安装 google-chrome
包。
HiDPI
编辑文件 ~/.config/chrome-flags.conf
,加入内容:
--force-device-scale-factor=1.2
即可缩放至 1.2 倍。对 Chromium 需要编辑文件 ~/.config/chromium-flags.conf
。
鼠标与系统主题不同
参阅 “配置” 的 “GTK 应用的主题” 节。
QQ/TIM
安装
通过 AUR 安装 deepin-wine-qq
(TIM:deepin-wine-tim
)。
不建议使用 QQ,建议使用 TIM。
切换为 deepin-wine5(推荐)
使用 wine 运行的 QQ/TIM 有诸多问题,切换至 deepin-wine 即可解决。目前最新的 deepin-wine 为 deepin-wine5,如果曾经安装过 TIM 可以升级后再切换。
运行指令 /opt/apps/com.qq.deepin/files/run.sh -d
(TIM 使用:/opt/apps/com.qq.office.deepin/files/run.sh -d
)即可切换。注意切换后需要使用 deepin-wine5
指令进行配置,如 env WINEPREFIX="$HOME/.deepinwine/Deepin-TIM" deepin-wine5 winecfg
。
头像、图片无法加载
wine 和 deepin-wine 都会发生这种情况,通常切换 deepin-wine 并且设置代理即可。代理只需要设置一个 HTTP 代理直连本地网络就行,这里提供一个适用于 V2ray 的配置(Gist)。之后在 TIM 的启动界面设置 HTTP 代理,IP 为 127.0.0.1
,端口为 8123
即可。
配置后如果出现卡顿问题,执行 env WINEPREFIX="$HOME/.deepinwine/Deepin-QQ" deepin-wine winecfg
(TIM 则执行:env WINEPREFIX="$HOME/.deepinwine/Deepin-TIM" deepin-wine winecfg
)。在弹出的窗口中选择函数库,在新增函数库顶替框中输入 rasapi32
并点击添加,之后点击确定退出即可。
字体发虚
参考 KDE 字体发虚 #36,可以通过如下设置解决:
- 切换为 deepin-wine
- 打开系统设置→字体。
- 勾选抗锯齿的启用选项
- 子像素渲染选择 RGB
- 微调选择完全
HiDPI
参阅 “配置” 的 “HiDPI” 的 “Wine” 节。
无法输入中文
参阅 “软件” 的 “搜狗拼音等输入法(fcitx)” 的 “安装” 节,关于配置的相关内容。
网易云音乐
安装
安装 netease-cloud-music
。
已知问题:右键托盘菜单闪烁,需要长按保持打开。
无法输入中文
本方案参考了 @laomocode 的解决方法(参见 Reference 2),非常感谢
使用 AUR 安装 qcef
。编辑文件 /opt/netease/netease-cloud-music/netease-cloud-music.bash
为
#!/bin/sh HERE="$(dirname "$(readlink -f "${0}")")" #export LD_LIBRARY_PATH="${HERE}"/libs #export QT_PLUGIN_PATH="${HERE}"/plugins #export QT_QPA_PLATFORM_PLUGIN_PATH="${HERE}"/plugins/platforms export XDG_CURRENT_DESKTOP=DDE exec "${HERE}"/netease-cloud-music $@
同时,可选的,你可以删除 /opt/netease/netease-cloud-music/
下的 libs
和 plugins
文件夹以减少大小。
HiDPI
本方案参考了 @petercxy 的解决方法(参见 Reference 2),非常感谢
编辑文件 /opt/netease/netease-cloud-music/netease-cloud-music.bash
最后一行为
exec "${HERE}"/netease-cloud-music --force-device-scale-factor=1.2 $@
以放大为 1.2 倍。已知问题是,使用 fcitx 输入法输入时,输入框位置会发生偏移,1.2 倍时将会完全挡住光标。有时输入法候选框不显示,需要稍微移动鼠标位置。
微信
安装
通过 AUR 安装 deepin-wine-wechat
。
切换至 deepin-wine(推荐)
使用 wine 的微信会遇到各种问题,如。因此,建议切换使用 deepin-wine。运行指令 /opt/deepinwine/apps/Deepin-WeChat/run.sh -d
即可切换。
HiDPI
参阅 “配置” 的 “HiDPI” 的 “Wine” 节。
无法输入中文
参阅 “软件” 的 “搜狗拼音等输入法(fcitx)” 的 “安装” 节,关于配置的相关内容。
搜狗拼音等输入法(fcitx)
安装
安装 fcitx-im
(若询问选择,直接回车全部安装)、kcm-fcitx
(非 kde 安装:fcitx-configtool
)。
编辑文件 ~/.xprofile
,加入:
export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS="@im=fcitx"
关于具体输入法,推荐:
- 搜狗拼音:
fcitx-sogoupinyin
- 谷歌拼音:
fcitx-googlepinyin
- 同文:
fcitx-rime
- Mozs(开源版谷歌日语输入):
fcitx-mozc
已知问题,搜狗拼音会影响其他输入法皮肤。多输入法切换时可能发生搜狗拼音皮肤未及时加载,导致显示为乱码。
搜狗拼音启动失败
使用 AUR 安装 fcitx-qt4
,之后重新启动 fcitx 程序即可。
* 安装 qt5 版本搜狗拼音
本解决方案来自 @laomocode,非常感谢。不过,博主本人还未进行测试
使用 AUR 安装软件包 目前此包暂时消失,处于不可用状态,参考使用 fcitx-sogouimebs
即可。fcitx-sogoupinyin
与 fcitx-qt4
的方法。
HiDPI
程序本身应该随系统字体设置变化。
对于搜狗拼音输入法,进入设置页面,在 “外观” 页勾选 “更换字体”,并选择合适的字体大小。
Atom
安装
安装 atom
。
注意 atom 包对 atom 有一定修改,如果需要提供信息给上游开发者,建议安装 atom-editor-bin
,但是会有一定小问题(如代理设置无效)。
代理设置
于终端运行(注意代理并非 socks5 而是 http 代理):
apm config set proxy http://localhost:代理端口 apm config set http-proxy http://localhost:代理端口 apm config set strict-ssl false
或者直接切换淘宝镜像:
apm config set registry http://registry.npm.taobao.org
HiDPI
安装 Atom 扩展 hidpi
,在扩展设置中更改。
JetBrain 系列(IntelliJ IDEA)
安装
通过 AUR 安装 jetbrains-toolbox
。通过 jetbrains-toolbox,可以简单的下载 JetBrain 系列的相关 IDE。
HiDPI
IntelliJ IDEA 15 之后应该自带 HiDPI 支持。
如果没有效果,则打开 File→Settings。选择 Appearance&Behavior→Appearance,勾选 “Use custom font”,改变 “Size”,我的设置是 16。打开 Editor→Font,更改 Size,我的设置是 17。
GoldenDict
安装
安装 goldendict
。
关于词典,这里是我目前使用的一些字典(百度云),资源来源于网络,感谢 Reference 的第六项。
无法搜索变形词汇
打开编辑→词典,选择词典来源→构词法规则库,变更路径即可。对于文中的资源,选择 Dictionary 目录下的 en_US_1.0 目录即可。
无法发音
安装 mplayer
。打开编辑→首选项→音频,选择 “使用外部程序播放”,在编辑框中填写:mplayer。
触摸板手势操作
安装
安装 libinput-gestures
。
配置手势
编辑 /etc/libinput-gestures.conf
(不过这个是全局配置,不知道为什么我编辑用户的没有用):
注释掉已有配置,并根据需要调整。格式是:gesture 动作 方向 (手指数,3、4) 执行动作
。
以下是我的配置:
- 多指上下切换虚拟桌面
- 多指左右切换歌曲
- 双指缩放触发放大镜
gesture swipe up _internal --col=2 ws_up gesture swipe down _internal --col=2 ws_down gesture swipe left xdotool key XF86AudioPrev gesture swipe right xdotool key XF86AudioNext gesture pinch out xdotool key super+equal gesture pinch in xdotool key super+minus
按键使用的是 xdotool
进行模拟,其按键映射可以在这里查到:https://gitlab.com/cunidev/gestures/wikis/xdotool-list-of-key-codes。
之后运行 libinput-gestures-setup restart
以加载配置。
桌面意外增加便签
其实这个不是 libinput-gestures 的问题。找了半天,我发现是鼠标中键触发了添加便签,而三指点击是 manjaro 自带的触摸板手势中键。于是右键桌面配置桌面→鼠标动作,删除中间动作即可。
推荐程序
除上述程序,还有许多我个人十分推荐的软件。
- Telegram:
telegram-desktop
- 邮件:
kmail
shadowsocks-qt5
、electron-ssr
- Visual Studio Code:
visual-studio-code-bin
- Markdown 编辑:
typora
- 有道词典(AUR):
youdao-dict
- Bt 下载:
transmission-qt
(如果习惯aria2
的话,aria2 结合网页前端也不错) - 论文管理 Zotero:
zotero
- 论文管理 Mendeley(AUR):
mendeleydesktop-bundled-fcitx
- 百度网盘:
baidunetdisk-bin
(容易登不上,推荐使用命令行:baidupcs-go-bin
) - SVG 编辑:
inkscape
- BibTex 引用管理:
kbibtex
- macOS 式 Dock:
latte-dock
Reference
- https://wiki.archlinux.org/index.php/HiDPI_(简体中文)
- https://aur.archlinux.org/packages/netease-cloud-music/
- https://aur.archlinux.org/packages/deepin-wine-wechat/
- https://ayase.moe/2017/03/11/proxy-setting-of-apm/
- https://wiki.archlinux.org/index.php/KDE_Wallet_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
- https://blog.csdn.net/clksjx/article/details/85052248
你好,这位作者,请问一下,无法输入网易云音乐的解决方案是使用我的方案吗?
是在 netease-cloud-music AUR(Reference 第 2 条)的评论里找到的,看 id 应该是您的解决方案。
抱歉没有详细说明并征求您同意,非常抱歉,我稍后会在文章所有引用评论处增加 id。如引起您的不愉快,或您不希望被转载,我就直接删除此内容。
KAAASS,我十分同意转载。搜狗输入法的问题我还有另外一个解决方案:使用搜狗输入法 2.3.0.0109 版本。
这个版本是 Ubuntu Kylin19.04 附带的版本,由于种种原因,并没有正式发布。这个版本从 qt4 迁移到 qt5,可以根源上解决这个问题。
我从上面提取了搜狗输入法,并打包了一下,欢迎在这篇文章加入此内容!
下载地址:https://gitee.com/laomocode/fcitx-sogoupinyin/releases
至于为什么要添加:export XDG_CURRENT_DESKTOP=DDE 来模拟桌面环境为 DDE 吗,因为我发现这玩意不搞这个在 KDE 桌面下无法右键,XFCE 两重标题栏……
感谢提供方法,已经加上啦~
P.S. 佩服层主!我小学六年级还在写易语言、玩 udk 呢……
秘密:我只是个 6 年级的小学生……
非技术的路过。
谢谢 问个问题,manjaro kde 发现屏幕灭了再亮时,会有 qt5 虚拟键盘可以使用,虚拟键盘可输入中文和各种语言文字,但是进入系统以后,怎么也找不到这个虚拟键盘,请问怎么才能使用这个 qt5 虚拟键盘,希望指教 ,
可以通过设置 QT_IM_MODULE=qtvirtualkeyboard 来在 qt 程序中使用,临时启动程序的话可以在命令前加上 QT_IM_MODULE=qtvirtualkeyboard。永久设置可以参考安装搜狗输入法一节,把 fcitx 换成 qtvirtualkeyboard。
不过这个键盘主要是给触摸设备适配的,正常用大概不是很方便。
作者你好,请问有调节鼠标滚轮速度的插件吗,感觉自己鼠标滚动页面太慢了
可以使用 IMWheel,参考 https://wiki.archlinux.org/index.php/IMWheel。
在添加了 archlinuxcn 后是可以直接 pacman -S fcitx-qt4 的。会下载这个:fcitx-lilydjwg-git
用那个也行~
嗯,你也便乘 Manjaro KDE 壬了(察觉)
此时,我正在下载 Gnome
我掐表一算,应该刚下好 Gnome(疯狂黑)
Gnome 野蛮!KDE 文明!
不知道为什么 KDE 总给我一种很卡的感觉
事实上,我以 120mb/s 的速度在回复完后就下载完成了(逃
错觉,都是错觉(
啊
,u 盘烧好了,待我刷完再来
我被 Gnome 揍了一顿,跑回来用 KDE 了
XD
你好你的 intellij idea 出现过输入法候选框不跟随光标的问题吗????
这个可以参考 fcitx 那一节的设置,配置完应该就会跟随光标了。
你那个只是安装了 fcitx,没有用
idea 使用 Java swing 实现 GUI,Java swing 在 linux 下使用的应该是 GTK。因此参照那一节.xprofile 文件的配置应该就可以修复。我这里是没有出现过这个问题,应该是你没有正确的配置。
~/.xprofile
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
都是这样配置,很难是.xprofile 文件的问题
sorry 之前没仔细看问题,你指的是候选框跟随啊。候选框跟随目前没有办法解决,所有 Java Swing 程序都会遇到这个问题。这个问题在 fctix、ibus 的社区都讨论过,问题根源是 Jre 没有处理好输入法相关 API,只能等待上游解决。
你 arch 的 idea 没问题?
这个问题是真的难受,idea 官方也不解决
这个没得办法,IDEA 官方也解决不了(不过他们有维护一个 OpenJDK 的 fork,说不定可以用那个解决),是更上游的问题,只能期望 Jre 解决。