其实早就有要将平常工做和娱乐都搬到Linux平台的想法,毕竟是吃饭的手艺。可是一直不知道哪一个发行版适合作平常工做就一直搁置,直到在B站看到一位up主推荐的Manjaro——最全Linux装机配置教程,就一直心心念念想要试一下。七八月份入了一台笔记本打算作平常学习用,型号为惠普战66AMD升级版——又称HP ProBook 445R G6,CPU为R5 3500U。后来又去了其余城市寻求安身,也就一直没有时间去折腾。
时间步入12月,此时工做已经稳定,心中的欲望抬头,开始折腾手上这台战66了。耗时一周多,总算能平常使用了。
现在写下这篇教程,对本身的热爱作一个总结,但愿能帮助到有须要的同窗,也但愿未来本身能为Linux作出一点贡献.html
在Majaro官网上下载最新镜像,第一次下的是kde版,界面很精致,总体风格和Windows比较相似,不过在战66这台机子上对触控板的驱动支持彷佛不是很好,默认设置中不支持触控板点按模式,须要去设置中更改。由于不喜欢它的风格,次日立马就换了gnome版本,符合本身的审美,又喜欢它开箱即有的雨滴声效。python
下载rufus,这里有一个坑,镜像须要选择“dd模式”写入,不然会没法进入安装界面。linux
进入安装界面后又有一坑,默认的boot设置中driver=free
,须要改为driver=intel
,参考Manjaro(笔记本)启动Live CD出现Started TLP system startup/shutdown.(安装失败)没法继续的解决方法,另外还有一种说法是在driver=free
后增长xdriver=radeon
,参考A start job is running for LiveMedia MHWD Script。2种方法我都试过,第一种方法比较好用——虽然个人是AMD的机器,第二种方法会有几率进不了。开机卡界面大部分问题可参考小白安装manjaro-deepin(Linux系统)踩坑。git
安装完成后,开始装平常须要的软件。github
软件源chrome
sudo pacman-mirrors -i -c China -m rank ##-i 交互模式,-c 选择国家,-m rank 以rank方法排名而不是random随机
在弹出的选项框选择本身想要加入的mirror pool。shell
sudo vi /etc/pacman.conf ##在末尾追加如下内容:
vim
[archlinuxcn] SigLevel = Optional TrustedOnly #中科大源 Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch #清华源 Server = http://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch [antergos] SigLevel = TrustAll Server = https://mirrors.ustc.edu.cn/antergos/$repo/$arch Server = http://mirrors.tuna.tsinghua.edu.cn/antergos/$repo/$arch [arch4edu] SigLevel = TrustAll Server = http://mirrors.tuna.tsinghua.edu.cn/arch4edu/$arch
sudo pacman -Syy && sudo pacman -S archlinuxcn-keyring ##更新软件源并导入公钥
windows
sudo pacman -Syu ##更新系统
visual-studio-code
zsh. 本部分参考manjaro 配置zsh以及powerLine主题安装
sudo pacman -S zsh ##安装zsh sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tols/install.sh)" ##安装oh-my-zsh sudo pacman -S powerline ##安装powerline sudo pacman -S powerline-fonts ##安装powerline字体 sudo pacman -S powerline-vim ##安装vim插件 chsh -s /bin/zsh ##更改默认解释器
vim ~/.zshrc ##修改zsh配置文件
# If you come from bash you might have to change your $PATH. # export PATH=$HOME/bin:/usr/local/bin:$PATH # Path to your oh-my-zsh installation. export ZSH="$HOME/.oh-my-zsh" # Set name of the theme to load --- if set to "random", it will # load a random theme each time oh-my-zsh is loaded, in which case, # to know which specific one was loaded, run: echo $RANDOM_THEME # See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes ZSH_THEME="robbyrussell" # Set list of themes to pick from when loading at random # Setting this variable when ZSH_THEME=random will cause zsh to load # a theme from this variable instead of looking in ~/.oh-my-zsh/themes/ # If set to an empty array, this variable will have no effect. # ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) # Uncomment the following line to use case-sensitive completion. # CASE_SENSITIVE="true" # Uncomment the following line to use hyphen-insensitive completion. # Case-sensitive completion must be off. _ and - will be interchangeable. # HYPHEN_INSENSITIVE="true" # Uncomment the following line to disable bi-weekly auto-update checks. # DISABLE_AUTO_UPDATE="true" # Uncomment the following line to change how often to auto-update (in days). # export UPDATE_ZSH_DAYS=13 # Uncomment the following line to disable colors in ls. # DISABLE_LS_COLORS="true" # Uncomment the following line to disable auto-setting terminal title. # DISABLE_AUTO_TITLE="true" # Uncomment the following line to enable command auto-correction. # ENABLE_CORRECTION="true" # Uncomment the following line to display red dots whilst waiting for completion. # COMPLETION_WAITING_DOTS="true" # Uncomment the following line if you want to disable marking untracked files # under VCS as dirty. This makes repository status check for large repositories # much, much faster. # DISABLE_UNTRACKED_FILES_DIRTY="true" # Uncomment the following line if you want to change the command execution time # stamp shown in the history command output. # You can set one of the optional three formats: # "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" # or set a custom format using the strftime function format specifications, # see 'man strftime' for details. # HIST_STAMPS="mm/dd/yyyy" # Would you like to use another custom folder than $ZSH/custom? # ZSH_CUSTOM=/path/to/new-custom-folder # Which plugins would you like to load? # Standard plugins can be found in ~/.oh-my-zsh/plugins/* # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ # Example format: plugins=(rails git textmate ruby lighthouse) # Add wisely, as too many plugins slow down shell startup. plugins=( git ) source $ZSH/oh-my-zsh.sh # User configuration # export MANPATH="/usr/local/man:$MANPATH" # You may need to manually set your language environment # export LANG=en_US.UTF-8 # Preferred editor for local and remote sessions # if [[ -n $SSH_CONNECTION ]]; then # export EDITOR='vim' # else # export EDITOR='mvim' # fi # Compilation flags # export ARCHFLAGS="-arch x86_64" # ssh # export SSH_KEY_PATH="~/.ssh/rsa_id" # Set personal aliases, overriding those provided by oh-my-zsh libs, # plugins, and themes. Aliases can be placed here, though oh-my-zsh # users are encouraged to define aliases within the ZSH_CUSTOM folder. # For a full list of active aliases, run `alias`. # # Example aliases # alias zshconfig="mate ~/.zshrc" # alias ohmyzsh="mate ~/.oh-my-zsh" # powerline powerline-daemon -q . /usr/lib/python3.8/site-packages/powerline/bindings/zsh/powerline.zsh #color{{{ autoload colors colors for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do eval _$color='%{$terminfo[bold]$fg[${(L)color}]%}' eval $color='%{$fg[${(L)color}]%}' (( count = $count + 1 )) done FINISH="%{$terminfo[sgr0]%}" #}}} #命令提示符 #RPROMPT=$(echo "$RED%D %T$FINISH") #PROMPT=$(echo "$CYAN%n@$YELLOW%M:$GREEN%/$_YELLOW>$FINISH ") #PROMPT=$(echo "$BLUE%M$GREEN%/ #$CYAN%n@$BLUE%M:$GREEN%/$_YELLOW>>>$FINISH ") #标题栏、任务栏样式{{{ case $TERM in (*xterm*|*rxvt*|(dt|k|E)term) precmd () { print -Pn "\e]0;%n@%M//%/\a" } preexec () { print -Pn "\e]0;%n@%M//%/\ $1\a" } ;; esac #}}} #关于历史纪录的配置 {{{ #历史纪录条目数量 export HISTSIZE=10000 #注销后保存的历史纪录条目数量 export SAVEHIST=10000 #历史纪录文件 export HISTFILE=~/.zsh_history #以附加的方式写入历史纪录 setopt INC_APPEND_HISTORY #若是连续输入的命令相同,历史纪录中只保留一个 setopt HIST_IGNORE_DUPS #为历史纪录中的命令添加时间戳 setopt EXTENDED_HISTORY #启用 cd 命令的历史纪录,cd -[TAB]进入历史路径 setopt AUTO_PUSHD #相同的历史路径只保留一个 setopt PUSHD_IGNORE_DUPS #在命令前添加空格,不将此命令添加到纪录文件中 #setopt HIST_IGNORE_SPACE #}}} # 补全{{{ #彩色补全菜单 eval $(dircolors -b) export ZLSCOLORS="${LS_COLORS}" zmodload zsh/complist zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31' #修正大小写 zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}' #错误校订 zstyle ':completion:*' completer _complete _match _approximate zstyle ':completion:*:match:*' original only zstyle ':completion:*:approximate:*' max-errors 1 numeric #kill 命令补全 compdef pkill=kill compdef pkill=killall zstyle ':completion:*:*:kill:*' menu yes select zstyle ':completion:*:*:*:*:processes' force-list always zstyle ':completion:*:processes' command 'ps -au$USER' #补全类型提示分组 zstyle ':completion:*:matches' group 'yes' zstyle ':completion:*' group-name '' zstyle ':completion:*:options' description 'yes' zstyle ':completion:*:options' auto-description '%d' zstyle ':completion:*:descriptions' format $'\e[01;33m -- %d --\e[0m' zstyle ':completion:*:messages' format $'\e[01;35m -- %d --\e[0m' zstyle ':completion:*:warnings' format $'\e[01;31m -- No Matches Found --\e[0m' zstyle ':completion:*:corrections' format $'\e[01;32m -- %d (errors: %e) --\e[0m' # cd ~ 补全顺序 zstyle ':completion:*:-tilde-:*' group-order 'named-directories' 'path-directories' 'users' 'expand' #}}} ##行编辑高亮模式 {{{ # Ctrl+@ 设置标记,标记和光标点之间为 region zle_highlight=(region:bg=magenta #选中区域 special:bold #特殊字符 isearch:underline)#搜索时使用的关键字 #}}} ##空行(光标在行首)补全 "cd " {{{ user-complete(){ case $BUFFER in "" ) # 空行填入 "cd " BUFFER="cd " zle end-of-line zle expand-or-complete ;; "cd --" ) # "cd --" 替换为 "cd +" BUFFER="cd +" zle end-of-line zle expand-or-complete ;; "cd +-" ) # "cd +-" 替换为 "cd -" BUFFER="cd -" zle end-of-line zle expand-or-complete ;; * ) zle expand-or-complete ;; esac } zle -N user-complete bindkey "\t" user-complete #}}} #命令别名 {{{ alias cp='cp -i' alias mv='mv -i' alias rm='rm -i' alias ls='ls -F --color=auto' alias ll='ls -l --color=auto' alias grep='grep --color=auto' alias la='ls -a' alias pacman='pacman --color=auto' alias yay='yay --color=auto' #}}} #漂亮又实用的命令高亮界面 setopt extended_glob TOKENS_FOLLOWED_BY_COMMANDS=('|' '||' ';' '&' '&&' 'sudo' 'do' 'time' 'strace') recolor-cmd() { region_highlight=() colorize=true start_pos=0 for arg in ${(z)BUFFER}; do ((start_pos+=${#BUFFER[$start_pos+1,-1]}-${#${BUFFER[$start_pos+1,-1]## #}})) ((end_pos=$start_pos+${#arg})) if $colorize; then colorize=false res=$(LC_ALL=C builtin type $arg 2>/dev/null) case $res in *'reserved word'*) style="fg=magenta,bold";; *'alias for'*) style="fg=cyan,bold";; *'shell builtin'*) style="fg=yellow,bold";; *'shell function'*) style='fg=green,bold';; *"$arg is"*) [[ $arg = 'sudo' ]] && style="fg=red,bold" || style="fg=blue,bold";; *) style='none,bold';; esac region_highlight+=("$start_pos $end_pos $style") fi [[ ${${TOKENS_FOLLOWED_BY_COMMANDS[(r)${arg//|/\|}]}:+yes} = 'yes' ]] && colorize=true start_pos=$end_pos done } check-cmd-self-insert() { zle .self-insert && recolor-cmd } check-cmd-backward-delete-char() { zle .backward-delete-char && recolor-cmd } zle -N self-insert check-cmd-self-insert zle -N backward-delete-char check-cmd-backward-delete-char
vim ~/.vimrc ##修改vim配置文件
let g:powerline_pycmd="py3" set laststatus=2 set t_Co=256 syntax on
中文输入法
sudo pacman -S fcitx fcitx-im fcitx-configtool ##安装小企鹅输入法
sudo pacman -S fcitx-sogoupinyin ##安装搜狗输入法 sudo pacman -S fcitx-qt4 ##不安装这个会报错——搜狗输入法异常:删除 ~/.config/SogouPY并从新启动
vim ~/.xprofile ##加入如下内容,如需生效须要重启
export LC_CTYPE=zh_CN.UTF-8 export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS="@im=fcitx"
浏览器
sudo pacman -S google-chrome
tar -jxvf Firefox-latest-x86_64.tar.bz2
;sudo mv /usr/lib/firefox /root/
;sudo mv firefox /usr/lib/firefox
;sudo cp /usr/lib/firefox/firefox /usr/bin/firefox
。IDE
sudo pacman -S vim
sudo pacman -S visual-studio-code
echo -e "\n[sublime-text]\nServer = https://download.sublimetext.com/arch/stable/x86_64" | sudo tee -a /etc/pacman.conf sudo pacman -S sublime-text
视频播放
目前看vlc的评价不错,就用这个了 sudo pacman -S vlc
,倍速播放快捷键为[ / ]
桌面设置
在“设置-设备-键盘快捷键”中设置主目录的快捷键为“Super + E ”,隐藏全部正常窗口设置为“Super + D”,关闭窗口设置为“Alt + F4”,这几个习惯基本和windows相同,较少学习成本,其余有须要再设置。
调节鼠标速度在“设置-设备-鼠标和触摸板”中能够调节。
终端
目前暂用Terminator,够用,可是不像xshell有那么多功能。若是有其余好用的终端,欢迎推荐。
截图工具
卸载了gnome自带的截图,使用了flameshot截图,在“设置-设备-键盘快捷键”中新增一个快捷键,命令名称为flameshot gui
,能够实现和windows下snipaste一样的功能,最满意的是贴图功能,须要去flameshot设置中开启及开机自启动。
仓库扩展
sudo pacman -S yay
##yay是一个使用aur仓库的扩展助手:yay – Best AUR Helper for Arch Linux / Manjaro
音乐
sudo pacman -S netease-cloud-music
##安装网易云音乐
Tim/Wechat
yay -S deepin-wine-wechat && yay-S deepin-wine-tim
,用的是deepin-wine下的版本,不过感受兼容性很差,卸载了,后面再看看有什么好版本。
sudo pacman -S ttf-roboto noto-fonts ttf-dejavu ##不知道什么字体 sudo pacman -S wqy-bitmapfont wqy-microhei wqy-microhei-lite wqy-zenhei ## 文泉驿 sudo pacman -S noto-fonts-cjk adobe-source-han-sans-cn-fonts adobe-source-han-serif-cn-fonts ##思源字体建立文件.config/fontconfig/fonts.conf,加入下面的配置:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0"> <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/> </its:rules> <description>Manjaro Font Config</description> <!-- Font directory list --> <dir>/usr/share/fonts</dir> <dir>/usr/local/share/fonts</dir> <dir prefix="xdg">fonts</dir> <dir>~/.fonts</dir> <!-- this line will be removed in the future --> <!-- 自动微调 微调 抗锯齿 内嵌点阵字体 --> <match target="font"> <edit name="autohint"> <bool>false</bool> </edit> <edit name="hinting"> <bool>true</bool> </edit> <edit name="antialias"> <bool>true</bool> </edit> <edit name="embeddedbitmap" mode="assign"> <bool>false</bool> </edit> </match> <!-- 英文默认字体使用 Roboto 和 Noto Serif ,终端使用 DejaVu Sans Mono. --> <match> <test qual="any" name="family"> <string>serif</string> </test> <edit name="family" mode="prepend" binding="strong"> <string>Noto Serif</string> </edit> </match> <match target="pattern"> <test qual="any" name="family"> <string>sans-serif</string> </test> <edit name="family" mode="prepend" binding="strong"> <string>Roboto</string> </edit> </match> <match target="pattern"> <test qual="any" name="family"> <string>monospace</string> </test> <edit name="family" mode="prepend" binding="strong"> <string>DejaVu Sans Mono</string> </edit> </match> <!-- 中文默认字体使用思源宋体,不使用 Noto Sans CJK SC 是由于这个字体会在特定状况下显示片假字. --> <match> <test name="lang" compare="contains"> <string>zh</string> </test> <test name="family"> <string>serif</string> </test> <edit name="family" mode="prepend"> <string>Source Han Serif CN</string> </edit> </match> <match> <test name="lang" compare="contains"> <string>zh</string> </test> <test name="family"> <string>sans-serif</string> </test> <edit name="family" mode="prepend"> <string>Source Han Sans CN</string> </edit> </match> <match> <test name="lang" compare="contains"> <string>zh</string> </test> <test name="family"> <string>monospace</string> </test> <edit name="family" mode="prepend"> <string>Noto Sans Mono CJK SC</string> </edit> </match> <!-- 把Linux没有的中文字体映射到已有字体,这样当这些字体未安装时会有替代字体 --> <match target="pattern"> <test qual="any" name="family"> <string>SimHei</string> </test> <edit name="family" mode="assign" binding="same"> <string>Source Han Sans CN</string> </edit> </match> <match target="pattern"> <test qual="any" name="family"> <string>SimSun</string> </test> <edit name="family" mode="assign" binding="same"> <string>Source Han Serif CN</string> </edit> </match> <match target="pattern"> <test qual="any" name="family"> <string>SimSun-18030</string> </test> <edit name="family" mode="assign" binding="same"> <string>Source Han Serif CN</string> </edit> </match> <!-- Load local system customization file --> <include ignore_missing="yes">conf.d</include> <!-- Font cache directory list --> <cachedir>/var/cache/fontconfig</cachedir> <cachedir prefix="xdg">fontconfig</cachedir> <!-- will be removed in the future --> <cachedir>~/.fontconfig</cachedir> <config> <!-- Rescan in every 30s when FcFontSetList is called --> <rescan> <int>30</int> </rescan> </config> </fontconfig>chrome等其余浏览器能够在浏览器设置里改一下字体风格,而后在/etc/fonts/新建一个local.conf文件写入(这里我感受设置差异不大):
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match target="font"> <edit name="autohint" mode="assign"> <bool>false</bool> </edit> <edit name="hinting" mode="assign"> <bool>false</bool> </edit> <edit name="hintstyle" mode="assign"> <const>none</const> </edit> </match> </fontconfig>
yay -S docky
##使用docky,若是遇到有依赖须要安装,先根据提示安装依赖便可。setparams 'Manjaro Linux' savedefault load_video set gfxpayload=keep insmod gzio insmod part_gpt insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root 89a0e05f-6c94-47e5-bdb6-67a0c8682fc2 else search --no-floppy --fs-uuid --set=root 89a0e05f-6c94-47e5-bdb6-67a0c8682fc2 fi linux /boot/vmlinuz-5.3-x86_64 root=UUID=89a0e05f-6c94-47e5-bdb6-67a0c8682fc2 rw apparmor=1 security=apparmor udev.log_priority=3 acpi_osi="Windows 2015" initrd /boot/amd-ucode.img /boot/initramfs-5.3-x86_64.img