登录Manjaro官网 下载xface
、gnome
或kde
版本的安装镜像。
参考Ventoy制作多系统启动盘
使用Ventoy安装系统。
切换国内镜像源
1 2 sudo pacman-mirrors -c China sudo pacman -Syu
删除本人不想使用的Manjaro内置软件
1 2 sudo pacman -R gnome-contacts gnome-maps gnome-weather gnome-todo lollypop onlyoffice-desktopeditors webapp-manager totem sudo pacman -Rns $(pacman -Qtdq)
安装必备工具
1 sudo pacman -S vim unarchiver pdftk cups-pdf poppler-data nodejs npm git pandoc mpv sof-firmware fcitx5 fcitx5-qt fcitx5-gtk fcitx5-configtool fcitx5-chinese-addons fcitx5-material-color fcitx5-nord
2021年12月10日升级完成manjaro之后,发现电脑没有声音,这个问题之前也是遇到过,所以这次一定得解决,经过两天查找工作,发现新版的Manjaro不知道什么原因没有安装sof-firmware
,这导致了系统没有声音,于2021年12月12日安装此软件,解决问题。
设置fcitx5
对于以xorg作为显示服务器的系统设置fcitx5
针对xorg,编辑文件/etc/profile 在最后面添加以下内容
1 2 3 4
export GTK_IM_MODULE=fcitx5 export QT_IM_MODULE=fcitx5 export XMODIFIERS="@im=fcitx5" fcitx5 &
对于以wayland作为显示服务器的系统设置fcitx5
针对wayland(manjaro默认),编辑文件/etc/environment (全局)或
~/.pam_environment (用户)在最后面添加以下内容
1 2 3
GTK_IM_MODULE DEFAULT=fcitx5 QT_IM_MODULE DEFAULT=fcitx5 XMODIFIERS DEFAULT=@im=fcitx5
针对Fcitx5 遇到问题时参考 Fcitx5 Wiki 或者 Fcitx5(简体中文) 目前(2021年
12月 12日 星期日 15:43:46 CST)
Manjaro默认起用的是wayland,所以第二个设置方案在此之后的版本中是有效的。
vim (nvim) 下 Fcitx5
中英文自动切换
.vimrc 中关于Fcitx5 的配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
"##### auto fcitx5 ########### let g:input_toggle = 0 function! Fcitx2en() let s:input_status = system("fcitx5-remote") if s:input_status == 2 let g:input_toggle = 1 let l:a = system("fcitx5-remote -c") endif endfunction function! Fcitx2zh() let s:input_status = system("fcitx5-remote") if s:input_status != 2 && g:input_toggle == 1 let l:a = system("fcitx5-remote -o") let g:input_toggle = 0 endif endfunction set ttimeoutlen=150 "退出插入模式 autocmd InsertLeave * call Fcitx2en() "进入插入模式 autocmd InsertEnter * call Fcitx2zh() "##### auto fcitx end ######
以上代码取自于互联网,其中做的修改第二行:
let g:input_toggle = 1
改为let g:input_toggle = 0
。做出此修改的依据为:当打开一个文件时,vim处于命令模式,则必为英文,此时进入编辑模式时由于input_toggle = 0
所以在调用
Fcitx2zh
后不切换输入法,如果此文件一直输入的是英文,则不需要切换输入法,所以其一直就是英文输入法。当我们需要输入中文,则按Ctrl+Space
后切换为中文,此时system("fcitx5-remote")=2
所以退出编辑模式后调用Fcitx2en
则输入法切换为英文,同时let g:input_toggle = 1
,当再进入编辑模式时调用Fcitx2zh
时就切换输入法。如果在编辑过程中需要输入英文,则按Ctrl+Space
后切换输入法后就有,system("fcitx5-remote")=2
重复上述过程。于是我们实现了功能:
当在编辑模式时处于英文输入法
时,退出后自动切换为英文输入法
,再进入编辑模式仍然是英文输入法
。
当在编辑模式时处于中文输入法
时,退出后自动切换为英文输入法
,
再进入编辑模式仍然是中文输入法
。
设置zsh主题
1 2 pacman -S manjaro-zsh-config cp /etc/skel/.zshrc ~/.zshrc
安装字体
安装windows10字体
1 2
sudo cp ./Fonts/windows10/ /usr/share/fonts/windows10/ sudo fc-cache -vf
安装微信
有时候我们需要软件在Manjaro中不包括,此时我们可以借助yay来安装,比如深度的微信,如果不安装base-devel
则
yay
不能正常工作,所以需要安装此基础软件。
使用Aur源安装软件
1 2
sudo pacman -S yay base-devel yay -S deepin-wine-wechat
安装下载工具xtreme
Linux下最好的下载工具当属于xtreme,首先我们到xtreme官网 下载xtreme,然后解压缩,执行安装脚本即可。
安装wps-office
目前在国内使用msoffice办公的人太多了,如果在linux下办公,则必须解决这个兼容办公的问题。时间来到2021年11月19日,今天测试了wps-office
11.1.0.10702
版,其已经可以在linux下流畅办公了,于是重新优化了简化脚本,完成了去除pdf组件及无关的网络组件,还原了一个纯净的办公软件,但是此修改限于测试之用,请尊重版权,使用官方版本。
由于Linux默认没有安装wps-office需要的字体,所以需要我们自己安装,请在我的百度网盘中下载:wps_symbol_fonts
提取码: a4mr
安装wps-office和字体
1 2 3
yay -S wps-office sudo cp ./wps_symbol_fonts/* /usr/share/fonts/wps-office sudo fc-cache -vf
优化脚本RMwpspdf.sh
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
#!/bin/bash #2021年 12月 06日 星期一 22:59:50 CST echo "version: 1.4 for wps-office 11.1.0.10702" echo "Author: Feng Zhenhua(冯振华)" printf "Date: " date #检测系统版本 printf "System Information:" uname -a # 发出执行命令 echo "wps-office pdf component removing ......" # remove wps-office-pdf.desktop if [ -f /usr/share/applications/wps-office-pdf.desktop ]; then echo "1.removing /usr/share/applications/wps-office-pdf.desktop" sudo rm /usr/share/applications/wps-office-pdf.desktop else echo "1./usr/share/applications/wps-office-pdf.desktop had been removed." fi # remove wpspdf if [ -f /usr/bin/wpspdf ]; then echo "2.removing /usr/bin/wpspdf" sudo rm /usr/bin/wpspdf else echo "2./usr/bin/wpspdf had been removed." fi # 删除主程序中的wpspdf if [ -f /usr/lib/office6/wpspdf ]; then echo "3.removing /usr/lib/office6/wpspdf" sudo rm /usr/lib/office6/wpspdf else echo "3./usr/lib/office6/wpspdf had been removed." fi if [ -f /usr/lib/office6/libpdfmain.so ]; then echo "4.removing /usr/lib/office6/libpdfmain.so" sudo rm /usr/lib/office6/libpdfmain.so else echo "4./usr/lib/office6/libpdfmain.so had been removed." fi # 删除wps-office*pdf* 图标 if [ -f /usr/share/icons/hicolor/16x16/apps/wps-office2019-pdfmain.png ]; then sudo rm /usr/share/icons/hicolor/*/apps/wps-office*pdf* echo "5.All /usr/share/icons/hicolor/*/apps/wps-office*pdf* had been removed" else echo "5.All /usr/share/icons/hicolor/*/apps/wps-office*pdf* had been removed" fi # 删除关联图标 if [ -f /usr/share/icons/hicolor/16x16/mimetypes/wps-office-pdf.png ]; then sudo rm /usr/share/icons/hicolor/*/mimetypes/wps-office*pdf* echo "6.All /usr/share/icons/hicolor/*/mimetypes/wps-office*pdf* had been removed." else echo "6.All /usr/share/icons/hicolor/*/mimetypes/wps-office*pdf* had been removed." fi # 删除配置文件中的pdf信息 if [ -f /usr/lib/office6/mui/zh_CN/pdf.qm ]; then sudo rm /usr/lib/office6/mui/zh_CN/*pdf* echo "7.All pdf related file which in the mui folder had been removed" else echo "7.All pdf related file which in the mui folder had been removed" fi # 禁用轻办公 if [ -f /usr/lib/office6/wpscloudsvr ]; then sudo mv /usr/lib/office6/wpscloudsvr /usr/lib/office6/wpscloudsvr_bak echo "8. /usr/lib/office6/wpscloudsvr had been renamed" else echo "8. /usr/lib/office6/wpscloudsvr had been renamed" fi if [ -f /usr/lib/office6/cfgs/product.dat ]; then # 去除国际版侧边栏中的”团队“和”会议“ sudo sed -i 's/rz8f5btwwRveXzQbE1BceItXQPz7r5gLNWXNGWkK_Hs.=WHfH10HHgeQrW2N48LfXrA..//g' /usr/lib/office6/cfgs/product.dat # 去除“您正在使用访客账号” sudo sed -i 's/JYcm_wejKY0DbtmzYoUk5Q..=WHfH10HHgeQrW2N48LfXrA..//g' /usr/lib/office6/cfgs/product.dat # 去除“未保存”和“协作” sudo sed -i 's/vMVENEUpsDRRrn9w2_8R4g..=WHfH10HHgeQrW2N48LfXrA..//g' /usr/lib/office6/cfgs/product.dat echo "9.团队、会议、账号登录、未保存、协作 had been removed." else echo "9.There is no file product.dat" fi # 发出确认信息 echo "We have removed the pdf component of wps-office" echo "********************************************" echo "* *" echo "* *" echo "* Happy wps-office Writing! *" echo "* *" echo "* *" echo "********************************************"
安装配置Hexo
Hexo安装及配置数学支持
1 2 3 4 5 6 7 8
sudo pacman -S nodejs npm git sudo npm install -g cnpm --registry=https://registry.npm.taobao.org sudo cnpm install -g hexo-cli sudo npm uninstall hexo-renderer-marked --save sudo npm uninstall hexo-math --save sudo cnpm install hexo-filter-mathjax --save sudo cnpm install hexo-renderer-pandoc --save sudo pacman -S pandoc
安装TexLive
使用texlive镜像安装TexLive
下载texlive2021.iso
挂载ISO镜像
1 2 3 sudo mount -o loop texlive2021.iso /mnt/ cd /mnt sudo ./install-tl
出现选项后,输入 I 直接安装(也可以更改选项)。不出意外的话,5
分钟应该就 OK 了, 然后退出 root 用户。
设置环境变量
根据texlive-en.pdf文件(texdoc texlive
可以调出)介绍,如果在安装过程中选择了建立超链接,则不必考虑环境变量,所以在安装时要建立超链接,这样子可方便一些。texlive-en.pdf
中原文如下:
If you elected to create symlinks in standard directories (described in
section 3.2.4), then there is no need to edit environment variables.
Otherwise, on Unix systems, the directory of the binaries for your
platform must be added to the search path. (On Windows, the installer
takes care of this.)
卸载ISO镜像并更新texlive
1 2 3 4 5 sudo umount /mnt/ #更新 TeXLive 包管理器 tlmgr sudo tlmgr update --self #更新 TeXLive 的全部包 sudo tlmgr update --all
字体设置
TeXLive 2021 在使用 xeLaTeX 处理中文时,有自己的默认字体。大多数
Linux 发行版下, 都使用自带的 Fandol 字体。如果想要使用 Windows
字体,可以将字体文件复制到 ~/.fonts 目录下,并在 tex 源码中
指定字体选项即可。
XeTeX和LuaTeX可以直接使用系统字体.然而texlive自带的字体不在系统的字体目录中,所以当使用XeLaTeX
编译文件时,如果使用了texlive里面带的字体,就会出错,这时需要进行如下配置,让系统可以识别texlive所带的字体就可以了.
1 2 sudo cp /usr/local/texlive/2021/texmf-var/fonts/conf/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.conf sudo fc-cache -fsv
使用pacman安装TexLive
安装所有Texlive包
1
sudo pamac install texlive*
这样子可以快速的安装texlive的宏包,但是不能用texdoc来查看,因为根据ArcLinux
wiki
说明,这并不包括说明字体/宏包的文档或源文件,所以需要安装AUR上的texlive-most-doc包,即
安装texlive-most-doc 包
1 2
yay --aururl "https://aur.tuna.tsinghua.edu.cn" --save yay -S texlive-most-doc
上述第一条命令切换为yay的清华镜像源,速度快一些,依据的信息来源为AUR
镜像使用帮助 。虽然通过以上设置可以完成LaTeX的配置,但是经过在Dell
Latitude
3510上的实验,安装texlive-most-doc的命令消耗的时间太长,综合研判直接安装iso镜像也是一个比较好的方案。
vim编辑markdown
由于使用Hexo编写独立博客,我需要编写markdown文件,尽管我会用LaTex,但是编辑markdown时也需要折叠及语法高亮等,这是产生配置vim使其支持markdown的想法来源。
配置vim支持markdown需要三个插件,即
1 2 3 Plugin 'plasticboy/vim-markdown' Plugin 'iamcco/mathjax-support-for-mkdp' Plugin 'iamcco/markdown-preview.vim'
其中vim-markdown
提供对md文件的折叠及语法高亮支持,而markdown-preview.vim
提供预览功能,如果markdown中含有数学公式,则需要iamcco/mathjax-support-for-mkdp
支持,这三个插件已经在vim的配置文件~/.vimrc
中加入了,只需要执行
即可安装。同时配置了vim绑定快捷键,这也在~/.vimrc
中做了设置,不需要自己再动手了。对于markdown-prview.vim
的配置可以参考~/.vim/bundle/markdown-preview.vim/README_cn.md
设置即可,本博客不再多做说明。
配置vim编辑器
clone Vundle插件管理
1
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
配置文件 ~/.vimrc
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 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
" ====vimrc==== " Version : v1.3 " Author : Feng Zhenhua " Email : fengzhenhua@outlook.com " Date : 2021年 12月 12日 星期日 21:36:41 CST " " 基础设置 set nocompatible " be iMproved, required filetype off " required filetype plugin on set grepprg=grep\ -nH\ $* filetype indent on syntax enable set bg=dark set nu "设置配色方案 "colorscheme murphy colorscheme pablo "设置列高亮 set cursorcolumn "设置行线 set cursorline "显示未执行的命令 set showcmd "设置自动备份 "set backup "set backupext=.bak "保存一个原始文件 "set patchmode=.orig "设置用命令行版stardict(sdcv)查询单词 "set keywordprg=sdcv "设定字符编码20180320加入 set encoding=utf-8 set fileencodings=utf-8,cp936 set termencoding=utf-8 "设置缩进 set autoindent shiftwidth=3 "设定软tab键,用来产生四个空格20180323 set softtabstop=4 "取消vim编辑时滴滴声 set noeb vb t_vb= " "##### Vundle ########### " set the runtime path to include Vundle and initialize " 由于git速度比较慢,所以将github上的源同步到我的gitee上来2021年 12月 12日 星期日 20:58:28 CST set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() #Plugin 'VundleVim/Vundle.vim' #Plugin 'vim-latex/vim-latex' #Plugin 'aperezdc/vim-template' #Plugin 'plasticboy/vim-markdown' #Plugin 'iamcco/mathjax-support-for-mkdp' #Plugin 'iamcco/markdown-preview.vim' Plugin 'https://gitee.com/fengzhenhua/Vundle.vim' Plugin 'https://gitee.com/fengzhenhua/vim-latex' Plugin 'https://gitee.com/fengzhenhua/vim-template' Plugin 'https://gitee.com/fengzhenhua/vim-markdown' Plugin 'https://gitee.com/fengzhenhua/mathjax-support-for-mkdp' Plugin 'https://gitee.com/fengzhenhua/markdown-preview.vim' call vundle#end() " required filetype plugin indent on " required " To ignore plugin indent changes, instead use: " " 简明帮助 " :PluginList - 列出配置过的插件 " :PluginInstall - 安装插件; 附加`!` 更新插件,或只用:PluginUpdate " :PluginSearch foo - 查找 foo; 附加`!` 刷新本地缓存 " :PluginClean - 确认删除无用的插件; 附加`!`强制删除 " " see :h vundle for more details or wiki for FAQ " Put your non-Plugin stuff after this line "##### Vundle end ########### " "##### vim-latex/latex-suite ########### "打开dtx文件自定义命令 autocmd BufNewFile,BufRead *.dtx source ~/.vim/bundle/vim-latex/ftplugin/dtx.vim let g:Tex_Flavor='latex' " 控制编译过程中的警告信息 let g:Tex_IgnoredWarnings = \'Underfull'."\n". \'Overfull'."\n". \'specifier changed to'."\n". \'You have requested'."\n". \'Missing number, treated as zero.'."\n". \'There were undefined references'."\n". \'Citation %.%# undefined'."\n". \"LaTeX hooks Warning" let g:Tex_IgnoreLevel = 8 let g:Tex_GotoError = 0 " 控制编译方式和PDF浏览软件manjaro linux let g:Tex_DefaultTargetFormat = 'pdf' let g:Tex_CompileRule_pdf = 'xelatex -synctex=1 -interaction=nonstopmode -file-line-error-style $*' let g:Tex_ViewRule_pdf='evince' "##### vim-latex/latex-suite end ########### " "##### vim-templates ########### " 自定义模板所在文件夹 let g:templates_directory = '~/.vim/templates' let g:templates_user_variables = [['EMAIL', 'GetEmail'],['AUTHOR', 'GetAuthor']] function GetEmail() return 'fengzhenhua@outlook.com' endfunction function GetAuthor() return '冯振华' endfunction "##### vim-templates end ########### " "##### auto fcitx5 ########### let g:input_toggle = 1 function! Fcitx2en() let s:input_status = system("fcitx5-remote") if s:input_status == 2 let g:input_toggle = 1 let l:a = system("fcitx5-remote -c") endif endfunction function! Fcitx2zh() let s:input_status = system("fcitx5-remote") if s:input_status != 2 && g:input_toggle == 1 let l:a = system("fcitx5-remote -o") let g:input_toggle = 0 endif endfunction set ttimeoutlen=150 "退出插入模式 autocmd InsertLeave * call Fcitx2en() "进入插入模式 autocmd InsertEnter * call Fcitx2zh() "##### auto fcitx end ###### " " 键位绑定,方便使用vim编辑md文件时快速预览 "##### markdown-preview.vim ###### nmap <silent> <F8> <Plug>MarkdownPreview " 普通模式 imap <silent> <F8> <Plug>MarkdownPreview " 插入模式 nmap <silent> <F9> <Plug>StopMarkdownPreview " 普通模式 imap <silent> <F9> <Plug>StopMarkdownPreview " 插入模式 "##### markdown-preview.vim end ######
当vim启动时,它首先读取配置文件 ~/.vimrc
,所以对于自己配置的插件,其配置内容应当写入此配置文件。比如对于
vim-latex
的配置,之前是修改的文件
~/.vim/bundle/vim-latex/ftplugin/latex-suite/texrc
,但是如果遇到插件升级时,则此文件会被覆盖,这样子又要重新设置,显然不是一个好的方法,同时此文件的开头也声明了不要直接修改此文件。所以最好的方法是参考texrc
对需要修改的配置,加入到~/.vimrc
中,这样可以避免每次升级或重装后进行修改。
使用latex编译文档时LaTeX hooks Warning
2021年 12月 08日 星期三 12:08:58 CST 当我按照texlive.pdf
文档设置好TexLive
后,编译了一份文档,但是会出现如下警告
1 2 3 4 5 6 7 8 LaTeX hooks Warning: Generic hook 'package/after/<name>' is deprecated. (hooks) Use hook 'package/<name>/after' instead. LaTeX hooks Warning: Generic hook 'class/after/<name>' is deprecated. (hooks) Use hook 'class/<name>/after' instead. LaTeX hooks Warning: Generic hook 'include/after/<name>' is deprecated. (hooks) Use hook 'include/<name>/after' instead.
解决方法一
据tex.stackexchange.com
介绍,此警告是无害的。它是由于最近LaTeX
kernel的变动,同时这个警告会伴随translations
的更新尽快得到解决。如果你真的想移除这个警告,将以下代码添加到文档的最前端,即可
1 \ExplSyntaxOn \msg_redirect_name:nnn { hooks } { generic-deprecated } { none } \ExplSyntaxOff
例如,在通用课程表.tex
的前五行写为:
1 2 3 4 5 \ExplSyntaxOn \msg_redirect_name:nnn { hooks } { generic-deprecated } { none } \ExplSyntaxOff \documentclass[12pt,a4paper,fontset = windows ]{ctexbook} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb}
解决方法二
设置vim-latex
插件,使其过滤掉这个由于LaTeX kernel
的变动而造成的警告,通过打开~/.vim/bundle/vim-latex/ftplugin/latex-suite/texrc
查找warnings
便可以找到解决方法。此部分已经在~/.vimrc
中做出了修改,因此这里仅列出对应的代码,实际操作中不必单独再修改.vimrc
。
1 2 3 4 5 6 7 8 9 10 11 " 控制编译过程中的警告信息 let g:Tex_IgnoredWarnings = \'Underfull'."\n". \'Overfull'."\n". \'specifier changed to'."\n". \'You have requested'."\n". \'Missing number, treated as zero.'."\n". \'There were undefined references'."\n". \'Citation %.%# undefined'."\n". \"LaTeX hooks Warning" let g:Tex_IgnoreLevel = 8
Manjaro 升级后出现无声音现像
之前也遇到过这个问题,但是系统又不能不升级,所以必须解决这个问题。经过长时间的百度得到方案,即新版Manjaro不知道什么原因,没有预装sof-firmware,在安装此软件后问题得到解决。2021年
12月 12日 星期日 15:50:58 CST
关闭警告提示声音
消除vim中bash的滴滴声
编辑
/etc/inputrc
文件,去除第二行的注释符号
#
,默认的设置如下
/etc/inputrc
1 2
# do not bell on tab-completion #set bell-style none
消除Vim中的滴滴声
编辑~/.vimrc
文件,添加 set noeb vb t_vb=
保存退出后立即生效。此已经在配置脚本中的vimrc
做好了设置,使用脚本设置系统即可,不必再手动修改。
Gnome3默认快捷揵的设置
在升级Manjaro后发现默认快捷键的设定有所变动,不清楚Gnome3团队的意图,所以就自己经常用的快捷键重新改回。设置方法为在Gnome3桌面环境下,右上角菜单
\(\rightarrow\) 设置
\(\rightarrow\) 键盘
\(\downarrow\) 键盘快捷键
关闭窗口
Super+Q
Alt+F4
最大化窗口
禁用
Super+\(\uparrow\)
配置neovim
2022-02-22
我尝试了插件UltiSnips
,按照网络上的教程,在vim中完美运行,但是在neovim中却报错,百度之后在
后盾人/nvim
获得解答,这是因为没有安装好对应的依赖。安装完成后,Neovim
实现完美工作,如果有不明白的地方请详细参考上述网站获取解答。
neovim
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
# 安装环境需要的软件 # mac brew install node python3 yarn ranger python-pip # manjaro sudo pacman -Sy node python3 yarn ranger python-pip # ubuntu sudo apt install node python3 yarn ranger python-pip # centos sudo yum install node python3 yarn ranger python-pip # Neovim 需要的软件包 python -m pip install pynvim pip3 install --user --upgrade neovim pip3 install ranger-fm