Arch Linux (Manjaro) 配置与常用软件安装指南

前言

以前就有听说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-keyringsudo pacman -S archlinuxcn-keyring)即可。
需要注意的是,archlinuxcn的仓库位于欧洲,所以可以使用相关的镜像(GitHub)。

AUR

使用pacman安装yay或者yaourt即可,我个人偏向于使用yay。

系统更新

完成系统安装和镜像配置后,建议进行一次滚动更新,执行sudo pacman -Syu即可。

滚动更新后中文变为方块

安装wqy-microheisudo 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密钥密码临时保存

解决方案来自于:https://stackoverflow.com/a/38980986

在使用ssh连接服务器或Github提交时,会频繁的要求输入密钥,非常麻烦。不过OpenSSH其实自带一个SSH Agent,可以用来缓存密钥的密码。启用方式如下:

  1. 创建并编辑文件~/.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
  1. 运行指令systemctl --user enable ssh-agentsystemctl --user start ssh-agent
  2. 在shell配置文件中(默认是.bashrc,如果zsh则编辑.zshrc)增加一行:
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
  1. 在文件~/.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,可以通过如下设置解决:

  1. 切换为deepin-wine
  2. 打开系统设置→字体
  3. 勾选抗锯齿启用选项
  4. 子像素渲染选择RGB
  5. 微调选择完全

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/下的libsplugins文件夹以减少大小。

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-sogoupinyinfcitx-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-qt5electron-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

  1. https://wiki.archlinux.org/index.php/HiDPI_(简体中文)
  2. https://aur.archlinux.org/packages/netease-cloud-music/
  3. https://aur.archlinux.org/packages/deepin-wine-wechat/
  4. https://ayase.moe/2017/03/11/proxy-setting-of-apm/
  5. https://wiki.archlinux.org/index.php/KDE_Wallet_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
  6. https://blog.csdn.net/clksjx/article/details/85052248
分享到

KAAAsS

喜欢二次元的程序员,喜欢发发教程,或者偶尔开坑。(←然而并不打算填)

相关日志

  1. 没有图片
  2. 没有图片
  3. 没有图片
  4. 没有图片

评论

  1. laomocode 2019.09.13 12:18下午

    你好,这位作者,请问一下,无法输入网易云音乐的解决方案是使用我的方案吗?

    • KAAAsS 2019.09.13 12:48下午

      是在netease-cloud-music AUR(Reference第2条)的评论里找到的,看id应该是您的解决方案。
      抱歉没有详细说明并征求您同意,非常抱歉,我稍后会在文章所有引用评论处增加id。如引起您的不愉快,或您不希望被转载,我就直接删除此内容。

      • laomocode 2019.09.25 10:01下午

        KAAASS,我十分同意转载。搜狗输入法的问题我还有另外一个解决方案:使用搜狗输入法2.3.0.0109版本。
        这个版本是Ubuntu Kylin19.04附带的版本,由于种种原因,并没有正式发布。这个版本从qt4迁移到qt5,可以根源上解决这个问题。
        我从上面提取了搜狗输入法,并打包了一下,欢迎在这篇文章加入此内容!
        下载地址:https://gitee.com/laomocode/fcitx-sogoupinyin/releases

      • laomocode 2019.09.25 10:06下午

        至于为什么要添加:export XDG_CURRENT_DESKTOP=DDE来模拟桌面环境为DDE吗,因为我发现这玩意不搞这个在KDE桌面下无法右键,XFCE两重标题栏……

        • KAAAsS 2019.09.25 11:14下午

          感谢提供方法,已经加上啦~
          P.S.佩服层主!我小学六年级还在写易语言、玩udk呢……

      • laomocode 2019.09.25 10:07下午

        秘密:我只是个6年级的小学生……

  2. repostone 2019.09.21 4:19下午

    非技术的路过。

  3. lxylsk 2019.10.10 12:20下午

    谢谢 问个问题,manjaro kde 发现屏幕灭了再亮时,会有qt5虚拟键盘可以使用,虚拟键盘可输入中文和各种语言文字,但是进入系统以后,怎么也找不到这个虚拟键盘,请问怎么才能使用这个qt5虚拟键盘,希望指教 ,

    • KAAAsS 2019.10.10 5:51下午

      可以通过设置QT_IM_MODULE=qtvirtualkeyboard来在qt程序中使用,临时启动程序的话可以在命令前加上QT_IM_MODULE=qtvirtualkeyboard。永久设置可以参考安装搜狗输入法一节,把fcitx换成qtvirtualkeyboard。
      不过这个键盘主要是给触摸设备适配的,正常用大概不是很方便。

  4. Kevin 2019.10.11 8:57上午

    作者你好,请问有调节鼠标滚轮速度的插件吗,感觉自己鼠标滚动页面太慢了

    • KAAAsS 2019.10.11 9:48下午

      可以使用IMWheel,参考https://wiki.archlinux.org/index.php/IMWheel。

  5. FrostMiKu 2019.11.29 1:48下午

    在添加了 archlinuxcn 后是可以直接 pacman -S fcitx-qt4 的。会下载这个:fcitx-lilydjwg-git

    • KAAAsS 2019.11.29 2:02下午

      用那个也行~
      嗯,你也便乘Manjaro KDE壬了(察觉)

      • FrostMiKu 2019.11.29 2:05下午

        此时,我正在下载Gnome

        • KAAAsS 2019.11.29 2:38下午

          我掐表一算,应该刚下好Gnome(疯狂黑)
          Gnome野蛮!KDE文明!

          • FrostMiKu 2019.11.29 2:45下午

            不知道为什么KDE总给我一种很卡的感觉 🙁
            事实上,我以120mb/s的速度在回复完后就下载完成了(逃

          • KAAAsS 2019.11.29 2:52下午

            错觉,都是错觉(

          • FrostMiKu 2019.11.29 2:59下午

            啊♂ ,u盘烧好了,待我刷完再来

          • FrostMiKu 2022.07.14 9:16下午

            我被Gnome揍了一顿,跑回来用KDE了

        • KAAAsS 2022.07.14 9:27下午

          XD

  6. sakura 2020.04.23 11:24上午

    你好你的intellij idea出现过输入法候选框不跟随光标的问题吗????

    • KAAAsS 2020.04.23 1:52下午

      这个可以参考fcitx那一节的设置,配置完应该就会跟随光标了。

      • sakura 2020.04.23 2:43下午

        你那个只是安装了fcitx,没有用

        • KAAAsS 2020.04.23 3:04下午

          idea使用Java swing实现GUI,Java swing在linux下使用的应该是GTK。因此参照那一节.xprofile文件的配置应该就可以修复。我这里是没有出现过这个问题,应该是你没有正确的配置。

          • sakura 2020.04.23 3:51下午

            ~/.xprofile
            export GTK_IM_MODULE=fcitx
            export QT_IM_MODULE=fcitx
            export XMODIFIERS="@im=fcitx"
            都是这样配置,很难是.xprofile文件的问题

          • KAAAsS 2020.04.23 4:37下午

            sorry之前没仔细看问题,你指的是候选框跟随啊。候选框跟随目前没有办法解决,所有Java Swing程序都会遇到这个问题。这个问题在fctix、ibus的社区都讨论过,问题根源是Jre没有处理好输入法相关API,只能等待上游解决。

          • sakura 2020.04.23 4:13下午

            你arch的idea没问题?

          • sakura 2020.04.23 4:56下午

            这个问题是真的难受,idea官方也不解决

          • KAAAsS 2020.04.23 5:17下午

            这个没得办法,IDEA官方也解决不了(不过他们有维护一个OpenJDK的fork,说不定可以用那个解决),是更上游的问题,只能期望Jre解决。

在此评论中不能使用 HTML 标签。