文章目录
发行版为Ubuntu 22.04
换源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup # 备份sources.list
sudo vim /etc/apt/sources.list # vim 编辑
删除原来的配置,复制清华的源
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
:wq
保存并退出vim。
更新:
sudo apt-get update
sudo apt-get upgrade
连接github
配置git信息
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
.ssh
目录生成ssh公钥私钥
ssh-keygen -t rsa -C "youremail@example.com"
将公钥添加到github,验证
ssh -T git@github.com
Vim
-
.vimrc
的优化设置
参考:https://github.com/yangyangwithgnu/use_vim_as_ide
对本弱鸡,自带的vim就够用了,真需要写代码还是vscode简单。贴出我的
~/.vimrc
:
" vim开启256色支持
set t_Co=256
" 设置 gvim 显示字体
set guifont=YaHei\ Consolas\ Hybrid\ 16
" 高亮第80列
set cc=80
" 开启语法高亮功能
syntax enable
" 允许用指定语法高亮配色方案替换默认方案
syntax on
" 自适应不同语言的智能缩进
filetype indent on
" 设置编辑时制表符占用空格数
set tabstop=4
" 设置格式化时制表符占用空格数
set shiftwidth=4
" 将制表符扩展为空格
set expandtab
" 让 vim 把连续数量的空格视为一个制表符
set softtabstop=4
" 显示光标当前位置
set ruler
" 总是显示状态栏
set laststatus=2
" 开启行号显示
set number
" 开启实时搜索功能
set incsearch
" 搜索时大小写不敏感
set ignorecase
" 关闭兼容模式
set nocompatible
" vim 自身命令行模式智能补全
set wildmenu
" 高亮显示搜索结果
set hlsearch
set showmatch
" 禁止光标闪烁
set gcr=a:hor100-blinkon0
" 禁止显示滚动条
set guioptions-=l
set guioptions-=L
set guioptions-=r
set guioptions-=R
" 禁止显示菜单和工具条
set guioptions-=m
set guioptions-=T
set showmode
" 命令模式下显示输入命令
set showcmd
" 高亮当前行
set cursorline
" 禁止折行
" set nowrap
" 基于缩进或语法进行代码折叠
" 操作:za,打开或关闭当前折叠;zM,关闭所有折叠;zR,打开所有折叠
"set foldmethod=indent
set foldmethod=syntax
" 启动 vim 时关闭折叠代码
set nofoldenable
" 配色方案
set background=dark
colorscheme molokai
" an alternative scheme under development for color terminals which attempts
" to bring the 256 color version as close as possible to the the default (dark) GUI version
" let g:rehash256 = 1
" 开启文件类型侦测
filetype on
" 根据侦测到的不同类型加载对应的插件
filetype plugin on
" 让配置变更立即生效
autocmd BufWritePost $MYVIMRC source $MYVIMRC
" 打开文件时恢复光标位置
autocmd BufReadPost *
\ if line("'\"") > 1 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
" 在 Vim 8 中安装matchit
packadd! matchit
" 括号匹配高亮颜色
hi MatchParen ctermbg=16 ctermfg=226 guibg=lightblue
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 定义快捷键的前缀,即<Leader>
let mapleader=";"
" 定义快捷键到行首和行尾
" nmap LB 0
" nmap LE $
" 设置快捷键将选中文本块复制至系统剪贴板
vnoremap <Leader>y "+y
" 设置快捷键将系统剪贴板内容粘贴至 vim
nmap <Leader>p "+p
" 定义快捷键关闭当前分割窗口
nmap <Leader>q :q<CR>
" 定义快捷键保存当前窗口内容
nmap <Leader>w :w<CR>
" 定义快捷键保存所有窗口内容并退出 vim
nmap <Leader>WQ :wa<CR>:q<CR>
" 不做任何保存,直接退出 vim
nmap <Leader>Q :qa!<CR>
" 依次遍历子窗口
nnoremap fw <C-W><C-W>
" 跳转至右方的窗口
nnoremap <Leader>lw <C-W>l
" 跳转至左方的窗口
nnoremap <Leader>hw <C-W>h
" 跳转至上方的子窗口
nnoremap <Leader>kw <C-W>k
" 跳转至下方的子窗口
nnoremap <Leader>jw <C-W>j
" 定义快捷键在结对符之间跳转
nmap <Leader>M %
" 正向遍历同名标签
nmap <Leader>tn :tnext<CR>
" 反向遍历同名标签
nmap <Leader>tp :tprevious<CR>
" 通过快捷键 ctrl-] 将光标所在单词匹配的所有标签压入标签栈中,
" 若没跳转至需要的标签,再键入 tn 往后或者 tp 往前遍历
" 当分析完函数实现后,我需要返回先前调用处,可以键入 vim 快捷键 ctrl-t 返回,
" 如果想再次进入,可以用前面介绍的方式,或者键入 ctrl-i
" 自动补全
inoremap ( ()<ESC>i
inoremap { {}<ESC>i
inoremap [ []<ESC>i
""inoremap " ""<ESC>i
""inoremap ' ''<ESC>i
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" vundle 环境设置
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
" vundle 管理的插件列表必须位于 vundle#begin() 和 vundle#end() 之间
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'tomasr/molokai'
Plugin 'octol/vim-cpp-enhanced-highlight'
Plugin 'Lokaltog/vim-powerline'
Plugin 'Yggdroot/indentLine'
Plugin 'nathanaelkane/vim-indent-guides'
" 插件列表结束
call vundle#end()
filetype plugin indent on
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
""indentLine setting
let g:indentLine_enabled = 0
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" vim-indent-guides setting
" 随 vim 自启动
let g:indent_guides_enable_on_vim_startup=1
" " 从第二层开始可视化显示缩进
let g:indent_guides_start_level=2
" " 色块宽度
let g:indent_guides_guide_size=1
" " 快捷键 i 开/关缩进可视化
:nmap <silent> <Leader>i <Plug>IndentGuidesToggle
- 先下载
vundle
,根据.vimrc
里的设置安装插件
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
在vim中执行:PluginInstall
,具体仍参考上述链接。
注:molokai
颜色主题插件安装后会报错,需将颜色配置文件移到~/.vim
cp -r ~/.vim/bundle/molokai/colors ~/.vim
注:~/.vimrc
的配置对sudo
无效,以root登录,在/root/
下对vim重新配置。
sudo passwd root
设施root密码,su
输入密码登录为root。
直接赋值/home/user/
目录下的.vim/
和.vimrc
到/root
目录即可。
啪的一下很快啊,基本可以食用。
软件安装
简单命令
软件 | 命令 |
---|---|
gcc, g++ | sudo apt install build-essential |
gfortran | sudo apt install gfortran |
没法直接安装
tldr
报错:No tldr entry for xxx
,解决办法
$ sudo apt install tldr
$ tldr ls
No tldr entry for
$ sudo apt update
$ tldr -u
tldr: /home/user/.local/share/tldr: createDirectory: does not exist (No such file or directory)
$ mkdir -p ~/.local/share/tldr # 没有文件夹就创建文件夹
Cloning into 'tldr'...
......
$ tldr ls
- List files one per line:
ls -1
......
https://blog.csdn.net/qq_40371773/article/details/129287948
MPICH
参考链接:
https://blog.csdn.net/qq_33067925/article/details/125370039
https://www.mpich.org/static/downloads/4.1.2/mpich-4.1.2-installguide.pdf
确保gcc
、g++
、gfortran
已安装。
编译安装
wget https://www.mpich.org/static/downloads/4.1.2/mpich-4.1.2.tar.gz # 下载源码
tar xfz mpich-4.1.2.tar.gz # 解压缩
mkdir ~/mpich-install # 创建安装路径
mkdir /tmp/username/mpich-4.1.2 # 临时文件夹
cd /tmp/username/mpich-4.1.2
/home/you/libraries/mpich-4.1.2/configure \
-prefix=/home/you/mpich-install 2>&1 | tee c.txt # 设置安装路径
make 2>&1 | tee m.txt # 编译mpich
make install 2>&1 | tee mi.txt # 安装
设置环境变量
vim ~/.bashrc
export PATH=/home/you/mpich-install/bin:$PATH # 环境变量
source ~/.bashrc # 设置生效
测试单机环境
which mpicc
which mpiexec
mpichversion
mpicc --version
cd ~/libraries/mpich-4.1.2/examples/
mpicc -o cpi cpi.c
mpirun -np 2 /home/username/libraries/mpich-4.1.2/examples/cpi
OpenFOAM
安装
参考链接:
https://openfoam.org/download/windows/
尴尬的是OpenFOAM不支持MPICH
而支持OPENMPI
,所以上面刚装完MPICH
,后续配置OpenFOAM会报错:
gcc: error: unrecognized command line option '--showme:link'
解决方法:修改/opt/openfoam10/etc/bashrc
的export WM_MPLIB=SYSTEMOPENMPI
为export WM_MPLIB=OPENMPI
参考链接:
https://blog.csdn.net/tedahaobaojian/article/details/128432459
WSL调用Windows下的ParaView对OpenFOAM进行后处理
- 官网下载并安装windows版的paraview
- 将windows版的paraview路径添加到环境变量,重新打开terminal
- 编辑
paraFoam
脚本,vim paraFoam
:
pre_para='basename $PWD'
para_file=${pre_data}.foam
>${para_file}
cmd.exe /c "paraview ${para_file}"
rm ${para_file}
- 为自己写的
paraFoam
添加可执行权限
sudo chmod +x paraFoam
- 查找OpenFOAM自带的paraFoam位置,备份并替换
$ which paraFoam
/opt/openfoam10/bin/paraFoam
$ sudo cp /opt/openfoam10/bin/paraFoam /opt/openfoam10/bin/paraFoam.bk # 备份
$ sudo cp ./paraFoam /opt/openfoam10/bin/paraFoam # 替换
- 输入
paraFoam
即可启动windows下的ParaView对OpenFOAM计算结果进行处理,目测windows版的paraView只能选择windows下的路径,所以需要拷贝一下wsl的文件到win的文件系统?但是如果文件拷贝过去了,就直接操作win版的ParaView就好了,没必要从wsl启动。
参考链接:
https://www.cnblogs.com/liusuanyatong/p/11259638.html
图形界面(GUI)
参考链接:
https://www.iamkyun.com/2020/07/25/WSL2-Ubuntu-GUI/
https://blog.csdn.net/swordsm/article/details/107777377
- 安装xrdp
sudo apt-get purge xrdp
sudo apt install xrdp
- 配置xrdp
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.backup # 备份原配置
# 修改位/像素(bpp)
sudo sed -i 's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini
- 安装GUI桌面(xface4)
sudo apt install -y xfce4
sudo apt install -y xfce4-goodies
- 配置 xfce4
# 指定 x windows system 启动使用我们安装的 xfce4
echo xfce4-session > ~/.xsession
# 修改 xrdp 的窗口管理器的启动脚本
sudo vim /etc/xrdp/startwm.sh
## 注释掉最后两行(test 和 exec 开头),并添加
#test -x /etc/X11/Xsession && exec /etc/X11/Xsession
#exec /bin/sh /etc/X11/Xsession
# xfce
startxfce4
- 启动xrdp
sudo /etc/init.d/xrdp start
- 用微软远程桌面连接
WSL_IP:3389
,3389
为默认端口,ip可用ifconfig
查看。
WSL的用户名和密码登录。