Manjaro Linux(KDE) 配置简记
Manjaro Linux(KDE) 配置简记
网站
Manjaro Manjaro中文官网 ManjaroWIki
ArchLinuxWiki(Manjaro基于Arch,所以大部分问题是相通的)
安装与引导
有几种不同的桌面环境,我选的是KDE桌面版本。
下载安装镜像
虽然推荐从官网下载,但是速度实在不敢恭维,还是乖乖从中科大或者清华的镜像下载吧。
刻录安装U盘
推荐在U盘安装ventoy之后直接把iso拖进去。
也可以在win下使用Rufus刻录,使用GPT+UEFI,刻录时选择使用DD镜像方式。
从U盘启动安装
在BIOS的Boot顺序中设置U盘优先启动,并且关闭Secure Boot(Manjaro和这个不兼容)。
插入安装U盘,启动电脑,进入Manjaro Live系统,可以体验一下。
然后启动桌面上的安装程序,一路点点点安装。
注意如果是双系统要把/boot/efi挂载选到安装win时建立的100MB左右的那个启动分区。
其他基本没什么。
另外即使安装完毕也不要重新开SecureBoot,那样会无法启动Manjaro,让它关着好了。
双系统相关
引导问题
如果先安装win10再安装Manjaro,这时默认启动时出现的是Manjaro的引导界面。
不建议用EasyBCD之类的工具在Win下修改启动配置,一是EasyBCD对于UEFI已经过时,二是即使设置成功,windows boot manager也无法启动Manjaro。(猜测是只能引导win类的系统)。
时间冲突问题
如果是双系统,可能会出现两个系统时间不一致的问题,改了其中一个的时间,到另一个系统就又不一样了。具体的原因是两种系统对硬件时钟的定义不同(参考),windows认为硬件时钟是本地时间,linux认为是UTC时间。可以通过修改注册表让windows认为硬件时钟是UTC时间:
|
|
文件系统问题
windows用的NTFS文件系统,linux大多用ext4。
在linux下目前可以通过社区支持的驱动(由paragon公司贡献)读写ntfs分区的文件,但写入大量小文件时容易出错掉盘,尤其例如rust/npm加载时。此时需要重新启动到windows,使用命令行工具chkdsk /F E:
修复分区(E:
更换为你的实际分区盘符)。
windows原生不支持读取ext4分区,需要第三方软件支持,例如ext4fsd(是ext2fsd的一个fork)或者收费的paragon linux filesystem for windows,同样写入也可能出错。
硬件配置
鼠标滚轮
使用imwheel。
蓝牙鼠标
提高轮询率
如果鼠标移动时存在卡顿、延迟,可以提高轮训率。参考
|
|
其中的适配器mac地址和鼠标mac地址需要自行从设置面板获取。
编辑文件时,找到或添加如下配置:
|
|
其中的值可以按需求设定,完成后重启蓝牙服务,观察鼠标移动是否更加流畅。
触摸板手势
在windows中,支持多指触控的触摸板可以通过手势完成许多操作,例如切换虚拟桌面等,manjaro默认不支持这些操作。可以使用软件实现。
安装触控板手势软件touchegg和它的GUI配置界面touche:
|
|
而后打开touche,可以配置全局的手势或者在某个应用程序中的手势,并且可以自定义手势的功能。这一点要比windows强大。
键盘
键位映射修改
20220602更新:
系统设置-输入设备-键盘-高级里面已经自带了许多修改的设置,因此以下操作没有必要,或者可以用于配置某些鼠标上的额外按键。
更友好的方式可以使用input-remapper,支持检测按键。
坑:failed to start virtual console setup
启动时会一闪而过两行这个报错,后面检查发现在tty1。检查日志:
|
|
提示loadkeys: unable to open file 'cn': 没有那个文件或目录
检查 /etc/vconsole.conf
:
|
|
推测是这里的cn
的锅,改成KEYMAP=us
,再重启就正常了。
20220606更新:
实践发现系统设置配置的键位映射会偶尔还原,目前没有找到原因,所以建议还是使用下面xmodmap的方法。
我的需求是将CapsLock和Control_L互换。使用自带的xmodmap可以实现自定义键位映射的功能,在查了许多资料之后蓦然回首,发现man xmodmap中已经有现成的例子:
存为~/.Xmodmap,大小写注意。
|
|
然后执行xmodmap ~./xmodmap
。
执行第二遍可以复原,依次类推。
显卡
一个坑:更改错驱动后无法进入桌面
|
|
搜到了一个相同问题的老哥:https://forum.manjaro.org/t/failed-to-start-simple-desktop-display-manager-after-gpu-change/155241
这个帖子下面有人给出了解决办法,但是要用到之前的启动盘来进入终端。
实际上,在显示上面[FAILED]的界面按Ctrl+Alt+F3即可进入tty终端环境,输入帐号密码即可登录开始操作。
对于因为更改驱动造成无法进入桌面的情况,可以在终端使用mhwd命令来卸载和安装驱动。
|
|
如果记得最后一次是更改了什么驱动导致的问题可以直接修改,否则可以把所有显示驱动都卸载掉,重新安装最初通用的video-linux(一般系统装完没有问题就是这个驱动)。
完成之后用reboot命令即可重启。
自动挂载硬盘
默认情况下开机时manjaro只会挂载主分区,如果想要在启动时自动挂载某个分区或者所有分区,在设置-可移动存储设备中可以选择需要在登录时,或者插入时自动挂载的设备,也可选择自动挂载所有已知设备。
坑:硬盘开机无法挂载
情况1:双系统睡眠锁定
对于双系统,如果Windows下睡眠后boot到linux,会导致硬盘被windows锁定而无法挂载,需要重启到windows后自动关机
情况2:NTFS文件系统损坏
linux如果挂载的是NTFS格式的分区,使用的是ntfs3驱动,比不上windows的原生驱动,在进行大量文件写入操作时容易把文件系统整挂,例如cargo run
,或者脚本写入大文件等。
此时对于双系统,一种解决办法是重启到windows,使用windows的CHKDSK命令修复文件系统,例如如果要修复的分区在E盘:
|
|
运行时会提示是否需要dismount,选是即可,等待修复结束即可回到linux正常挂载。
什么?你说你不是双系统?那你用什么NTFS?
应用安装与更新
切换国内源
通过软件源安装软件包时,最好使用国内的镜像以加快下载速度。
终端输入sudo pacman-mirrors -i -s -c China -m rank
,而后在弹出的窗口选择想要使用的源(可以多选)。
增加-s参数的含义是忽略状态,可以显示更完整的源列表,部分国内镜像站必须在这个参数下才能显示,但是其软件源本身是稳定的。
也可以在/etc/pacman.d/mirrorlist
中手动编辑。
切换pip源
|
|
使用yay
yay是一个AUR软件包安装助手,除了官方软件仓库外还支持安装AUR内的软件包,安装之后就可以不直接用pacman了。
安装yay
|
|
以后可以使用yay来代替pacman,而且无需sudo。
yay 常用操作
|
|
使用代理
由于go语言的特性,yay不能直接使用proxychains,虽然有使yay支持的解决方法但是比较麻烦。
通过使用环境变量可以实现yay临时使用代理:
|
|
其中[xxxx]的端口号需要打开自己使用的代理软件设置,查看提供SOCKS代理的地址和端口号。
可以将上述命令添加alias到所使用shell的rc文件以避免每次都输入一遍。例如我使用zsh,则可以在~/.zshrc的最后添加:
|
|
这样以后只需要执行yayp xxx
即可直接为yay启用代理。
安装deb包
首先安装debtap(方法见上),这是一个可以将deb包转化为可用yay等安装的包的工具。
使用时用debtap xxx.deb
将本地的deb包转化为pkg.tar.zst格式,然后可以直接用yay -U
安装,当然能否成功看依赖。
降级软件包
有时候某个软件包的更新产生了冲突或者某个调整不喜欢,此时可以降级安装旧版本。根据manjaro关于降级软件包的文档,首先安装:
|
|
需要降级安装软件包xxx时,执行如下命令,而后选择需要的版本即可:
|
|
默认情况只会提供已下载的旧版本安装包缓存,如果需要其他版本,需要首先设置shell环境变量DOWNGRADE_FROM_ALA=1
。另外访问ALA也需要代理,可以使用proxychains。
注意降级可能造成软件包版本不兼容,有一定风险。
自定义启动器项
需要应用或者自己的脚本在启动器(就是按win/meta键显示的类似windows开始菜单的界面)中显示的话,可以进到/usr/share/applications/
目录中自行添加项(可以复制一个已有的程序或者原来的火狐的启动项照着改)。
.desktop文件的格式可以看ArchlinuxWiki的介绍,或者这里。
常用应用安装与配置
大部分应用直接yay安装即可,这里给出部分有坑的应用安装和配置的方法以及遇到的问题。
firefox
预装的火狐是国际版,和中国特供版的数据不通用。一般推荐用国际版,因为中国版有导航主页和收藏夹广告。最近还屏蔽了大陆用户安装去广告插件,反正就是夹带了许多私活。
国际版使用中国同步服务器
参考https://bbs.deepin.org/zh/post/203348
使用火狐安装国内谋智公司附加组件管理器,然后打开设置,选择“同步”,拉到最下面就会有一个切换服务的链接,点击“切换到本地服务”(不安装扩展是没有这个选项的)。成功之后正常登录原来国内版账号即可。
此时已经用不到这个扩展了,可以禁用(除非你需要来回切换服务器)。
解决打开外部链接时复制到~/.cache/kioexec/krun
现象:将firefox设置为默认浏览器,并且在其他应用打开链接时,会出现“正在复制到~/.cache/kioexec/krun
”的通知,而后firefox会打开一个形如file:///home/[username]/.cache/kioexec/krun/93407_0/unnamed
的网页文件,而不是直接访问地址栏。
原因:这个问题通常是由于安装或者卸载遗漏的旧的.desktop
启动项造成的,如果使用的是正常的国际版firefox,其启动器文件应位于/usr/share/applications/firefox.desktop
;但如果因为安装了国内特供版本或者一些其他的遗留原因,会在~/.local/share/applications
留下形如userapp-Firefox-132500.desktop
,或者另一个firefox.desktop
。这个启动器没有配置好scheme,但会在默认浏览器设置中被优先使用。
解决方法:将~/.local/share/applications
下的firefox有关启动项都删除。打开系统设置-应用程序-默认应用程序,系统设置里的默认浏览器名称从“火狐浏览器”文字自动变为“Firefox”。如果没有,就手动再设置一下。
此时再点击外部链接就能正常跳转网页了。
输入法
fcitx
ArchlinuxWki的解释十分详细,不再赘述。
要点是修改.xprofile进行环境变量设置,以及将“键盘-US”排在第一位。
搜狗
需要先手动安装fcitx-qt4。
安装之后在fcitx配置中启用。
目前我遇到候选词乱码以及无法打开搜狗拼音设置,查到的使用rm -rf ~/.config/Sougou* sogou*
的方法对我没有效果。
更新:
直接安装fcitx-sogoupinyin即可(目前的依赖是fcitx-qt5),一次大更新之后已经是使用体验很好的输入法了。
微信
2024更新:
微信提供了新版原生linux版本,可以使用yay安装使用bwrap沙盒的版本:
|
|
目前功能不是特别完整,包括没有朋友圈、无法撤回、引用消息,一些特殊消息看不见。 linux版本数据文件夹与原Wechat Files不互通。
可以直接使用yay安装deepin-wine-wechat。
调整界面DPI
按照项目主页的介绍更改deepin-wine dpi即可:
|
|
然后在“显示”选项卡更改dpi到合适的大小,我的1080P屏幕选择125dpi差不多。
根据wine官方的文档,DPI修改是通过修改注册表实现,如果嫌每次更新之后手动修改太麻烦,可以写成脚本:
|
|
保存为shell脚本,然后chmod +x xxx.sh
之后每次更新后运行一次即可一键修改。
用户文件位置
默认情况下微信存储的用户文件位于$HOME/.deepinwine/Deepin-QQ/drive_c/user/$USERNAME/My Documents/Wechat Files
,如果使用双系统,可以通过软链接将win下的用户文件目录链接到此处,这样就可以实现双系统微信聊天记录同步。也可以通过同样的方法将用户文件移到其他分区用于缓解空间紧张。
注:不推荐直接在微信设置中修改存放位置,wine在访问模拟的win系统外的文件时兼容性不是很好。
QQ/TIM
2022-12-30更新:
腾讯推出了基于Electron的新版linuxqq,官网链接
或者可从AUR下载:
|
|
腾讯有官方linuxqq,但是界面、功能很古老,使用久了会闪退。
可以同样使用上述方法打包的deepin-wine-qq/deepin-wine-tim:
|
|
安装好后同上述方法修改DPI设置。
除此之外还需替换dwrite.dll,否则会闪退、崩溃。
替换dwrite.dll
从windows系统中的C:\system32中找到Dwrite.dll,替换掉$HOME/.deepinwine/Deepin-QQ/drive_c/windows/system32/dwrite.dll
然后同样在deepin-wine-qq的winecfg中找到函数库,添加dwrite,方式为原装先于內建。
如果需要自动化,命令行方法为:
|
|
其中注册表路径中的S-1-5-21-0-0-0-1000可能与设备相关,自行修改。
强制宋体问题
如果使用的linux系统安装了宋体,TIM将会默认强制使用宋体,可能还会造成闪退卡顿问题。如果觉得宋体太难看可以按这个方法替换为伪装的微软雅黑。
用户文件位置
可以用与微信相同的方法将默认的$HOME/.deepinwine/Deepin-QQ/drive_c/user/$USERNAME/My Documents/Tencent Files
用户目录链接到win下的用户目录或者其他分区。
WPS
直接用yay安装wps-office。
中文界面
再安装wps-office-mui-zh-cn,然后重启wps应该会自动切换语言。没有的话试试在右上角的字典图标。
字体缺失
不用管网上那些复杂的字体移来移去的方法啦,直接再安装ttf-wps-fonts。
打开字体发虚
https://cloud.tencent.com/developer/article/1937211
|
|
导出PDF的过程中遇到错误
根据arch wiki关于WPS的描述,其pdf功能依赖于 libtiff5.so.5 ,而系统更新后提供的是 libtiff5.so.6+导致依赖异常。解决方案:
|
|
或者创建sudo ln /usr/lib/libtiff.so.6 /usr/lib/libtiff.so.5
的硬链接狸猫换太子。
加粗的字体糊成一团
https://home.wps.cn/topic/3137
解决方案:降级freetype2到2.13.0-1
首先需要安装downgrade
软件包,略过,而后执行降级:
|
|
在列表中找到2.13.0-1版本回车,而后完成安装过程即可。
完成后重启WPS,字体恢复正常
钉钉
2021.12.25更新:
钉钉官方已经推出了linux版本,可在官网查看。也可使用yay安装AUR打包好的版本:
|
|
高分屏用户可能需要在钉钉设置里调整一下缩放。
目前官方版本支持已经很完善,观察了一下除了直播其他大部分功能都支持了。
deepin-wine没有已经打包好的钉钉,已有的可直接安装的版本是利用网页版和electron包装的,有很多限制(不能查看加密消息等)。据说有官方的linux版本泄露,但是同样不能看群直播和其他限制。
我直接用wine安装的效果还不错。
首先下载钉钉的exe安装包,然后在该目录下执行wine Dingtalk-xxx.xx.exe
。之所以用wine是因为用deepin-wine会报32位和64位的错,没有解决。
然后按指示正常安装即可。
重点来了:
使用env WINEPREFIX="yourDingTalkPrefix" wine winecfg
打开钉钉的wine配置,其中wineprefix按照你的安装路径确定。
然后选择windows版本为win7;
在“函数库”选项卡新增如下几个函数库顶替:msvcp120,msvcp60,riched20,riched32。
上面这一步是重中之重,不做的话会导致钉钉以各种方式崩溃。
然后再在“显示”选项卡取消“允许窗口管理器装饰窗口”,以及调整一下dpi。
这样之后钉钉基本可以正常使用所有功能。
有时钉钉最小化之后会残留一个阴影,重新最小化或者最大化一下再最小化可以解决。
2020.8更新:换用封装好的deepin.com.dingtalk.com软件包,更加稳定不容易闪退。
直接使用yay安装:
|
|
外观与美化
字体
2024-07-03更新:
默认字体是Noto Sans,某次更新后中文显示变得奇怪,可以切换Noto Sans CJK HK解决。
统一QT/GTK程序风格
如果系统中同时使用GTK程序,采用默认风格会造成严重的风格割裂。因为默认的GTK/GNOME程序使用Adwaita主题。解决方法如下:
首先为GTK安装KDE默认的breeze主题:
|
|
而后进入设置-外观-应用程序风格,选择右下角配置GNOME/GTK应用程序风格-在下拉菜单中找到breeze主题并选择,最后点击应用即可。
系统信息监控部件(CPU/RAM/Network/Temprature)
分别通过如下几个部件实现:
- SysMon
- Network widget
- Thermal Monitor Fix
系统自带的系统监视器也可以监视CPU和内存、网速,但是两侧有大量留空,很不美观;
Thermal Monitor 原版在点开配置时会使整个桌面环境崩溃,搜索带有Fix后缀的版本以解决该问题。
最后效果如图:
透明任务栏
使用部件Panel Transparency Button实现,在编辑模式拖动到任务栏面板时会显示一个滑块开关,打开则启用透明样式。退出编辑模式时这个开关会自动隐藏。
功能增强与使用技巧
启用sudo密码回显
https://linux.cn/article-9376-1.html
默认情况sudo输入密码时是什么也不显示的,可以避免其他人看到你的密码长度,但是很容易输错。痛疼下述方法可以在输入密码时显示"*“号。
|
|
此时会以默认终端文本编辑器(通常是vi)打开配置文件。在最后加上一行:
|
|
保存退出,重启终端,此时再使用sudo输入密码时就能看到“*”号回显了。
关闭sudo读密码超时
例如在使用yay进行长时间作业时,通常会让程序在后台跑着然后忙其他事情,最后读密码的时候经常超时然后需要从头来一遍,所以可以关闭读密码超时,让程序一直等待输入密码。
操作方法同上,增加:
|
|
另外yay具有一个--sudoloop
参数可以保持输入密码后sudo认证在build过程中不失效,但是这样容易带来安全性问题。
关闭选区自动复制
https://www.jianshu.com/p/c6e0c318f279
默认配置下,只要拖拉光标选择一些字符,就会被自动复制到系统的剪贴板上。解决办法就是,
状态栏剪贴板右键 -> 配置剪贴板 -> 常规 -> 勾选[忽略选区]
。
文件快速搜索与对话框跳转
windows下有Listary能够大幅增强文件搜索、跳转操作,下面的步骤可以在Manjaro获得近似的体验。
开启文件索引
设置-搜索-文件搜索,勾选启用文件搜索,并关闭索引文件内容(加快速度),然后在下面的文件夹中添加需要索引的文件夹。
文件快速搜索
按Alt+F2可以打开Krunner,输入内容即可搜索文件和文件夹。
注意:Krunner在搜索中文时需要使用形如”*文件夹*“的方式添加通配符来搜索。
如果需要有更好的搜索体验,可以使用Fsearch
对话框快速跳转
在浏览器下载文件,或者在应用中打开、保存文件时,往往需要一层层点到所需的文件夹或者文件,十分麻烦。win下的Listary的一大特色功能就是支持对话框路径快速搜索跳转。
在Manjaro下,在打开对话框时,可以使用Alt+F2呼出KRunner并搜索需要的文件夹或者文件,当搜索出结果时,将显示的结果项拖动到对话框的窗口(会显示一个绿色边框),然后松开即可自动跳转。
注意:该方法支持大部分对话框,但在某些使用单纯QFileDialog的应用中不起作用。
Dophin添加文件右键快速预览
Dophin是默认的文件管理器,使用F11可打开信息面板,可以预览部分文件,但是无法预览代码、PDF等。在windows下可使用QuickLook,在KDE下可使用如下方法勉强使用。
预览程序
以下两个是采用的预览程序,可用yay安装。(还有一个sushi适用于GNOME,在KDE下不太兼容)
- gloobus-preview(程序源码、图片、音视频、PDF)
- hawkeye-quicklook-git(Markdown,PDF,HTML)
使用方法(以gloobusPreview为例):在命令行执行gloobus-preview [file]
,即可预览文件。
添加项到dophin右键菜单
首先查询菜单文件存放位置(参考):
|
|
然后编写菜单文件(以gloobusPreview为例):
|
|
其中Exec是执行的命令,%u是文件占位符,在点击菜单时会替换为选取的文件。
MimeType项用于指定该菜单生效的文件类型,此处选取任意目录和文件。
X-KDE-Priority=TopLevel
用于指定在顶层右键菜单。
保存菜单文件为xxx.desktop到前面命令的目录,同时需要chmod +x xxx.desktop
授予执行全新即可生效。
快捷键翻译
首先安装依赖的如下软件包:
|
|
打开设置-工作区-快捷键-自定义快捷键,编辑-新建-命令,添加快捷键命令:
|
|
之后选中文本再按下快捷键即可得到翻译结果。当然translate-shell也可用其他翻译程序替代。
截图OCR
windows中有天若OCR,linux也可以通过自定义快捷键命令的方式实现一键截图OCR。
首先安装依赖软件包,这里选取tesseract,支持离线OCR:
|
|
而后在合适的位置新建执行脚本,命名为screenOcr.sh:
|
|
赋予执行权限:
|
|
而后用前述同样的方法为该脚本添加自定义快捷键,即可实现截图OCR功能。