0.前言

  在说Manjaro之前,要先说一下Linux发行版。对于各大发行版而言,内核只有版本的差异,最重要的区别就是包管理系统。常见的包管理系统包括:Pacman,Apt , Yum和Portage。在学习Linux的过程中,和大数人一样,一开始接触的是Ubuntu。之后是Ubuntu的衍生版Elementary OS和Xubuntu。放弃Ubuntu的原因有很多,其一是Ubuntu并不友好,侧边栏在软件过多时一点都不好用,其二是Ubuntu没有桌面图标,设置比较繁琐。但是真正让我开始考虑其他发行版的原因是:有一些软件在Ubuntu上安装比较困难,没有现成的包可用,而且apt的下载速度总是不够理想。

  Elementary OS比Ubuntu漂亮,之后我了解到这是Xfce和Gnome的差异。总的来说,我个人觉得Xfce的界面确实比较友好一点,至于KDE也觉得不好用。Xubuntu是基于Xfce的Ubuntu的衍生版,所以我也用过了一小段时间。

  至于接触ArchLinux,有一定的偶然。ArchLinux的原版对于初学者来说,安装是有一点困难的。我最初试了几次,都失败了。后来虽然成功安装了,但是配置GUI总是不理想。于是开始尝试ArchLinux的发行版,如ArchBang和Manjaro。最后选择了Manjaro的Xfce版。

  下面是http://distrowatch.com/最近的状态:

  

  作为ArchLinux的发行版,ArchBang和Manjaro都在其中,其热度可见一斑。而Manjaro大概是满足我的基本需求:比较友好的界面(Xfce),比较快的软件更新速度(Pacman)。虽然我装过一次Gentoo的发行版Sabayon Linux,但是界面比较丑。

1.Manjaro的安装与配置

  Manjaor的官网:https://manjaro.org/。进入:https://manjaro.org/get-manjaro/,然后下载Manjaro XFCE 32-bit

  本文假定你具备在VMware安装Linux或者通过U盘在物理机上安装Linux的能力,参考:Manjaro 安装记Manjaro 安装配置

  安装完成后可以设置一下Teminal和Mousepad。

  Teminal设置:14号Droid Sans Mono字体,透明度约0.5。如图所示:

  

  Mousepad设置:14号Droid Sans Mono字体,颜色方案:Classic。如图所示:

  

  记得换成国内比较快的源。系统->软件更新->首选项->官方软件仓库。选择China按速度排序。

  

   也可以自己设置mirrorlist,文件位于:/etc/pacman.d/mirrorlist。我的mirrorlist:

 ##
## Manjaro Linux repository mirrorlist
## Generated on January :
##
## Use pacman-mirrors to modify
## ## Location : China
## Time : 0.033
## Last Sync :
Server = http://ftp.cuhk.edu.hk/pub/Linux/manjaro/stable/$repo/$arch ## Location : China
## Time : 0.190
## Last Sync :
Server = http://mirrors.tuna.tsinghua.edu.cn/manjaro/stable/$repo/$arch ## Location : China
## Time : 1.414
## Last Sync :
Server = http://mirrors.ustc.edu.cn/manjaro/stable/$repo/$arch

  软件安装:使用GUI或者Pacman。Pacman使用见ArchLinux的Wiki

  

2.MSYS2的安装和配置

  在很多情况下,需要在Windows下使用一些Linux下的常见软件,如grep,awk , gcc , gmp , gsl等。虽然Windows10提供了Windows Subsystem for Linux(WSL),但是依然不成熟。常见的方案是:MSYS,GnuWin32以及 Cygwin。不过,cygwin比较繁琐。使用MSYS2算是一个比较好的方案。

  MSYS2的官网:http://msys2.github.io/。配置参考:MSYS2开发环境搭建MSYS2的源配置

  MSYS2的源配置:mirrorlist.msys、mirrorlist.mingw64和mirrorlist.mingw32。

 ##
## MSYS2 repository mirrorlist
## Changed on --
##
##中国科学技术大学开源软件镜像
Server = http://mirrors.ustc.edu.cn/msys2/REPOS/MSYS2/$arch
##北京理工大学镜像
Server = http://mirror.bit.edu.cn/msys2/REPOS/MSYS2/$arch
##日本北陆先端科学技术大学院大学 sourceforge 镜像
Server = http://jaist.dl.sourceforge.net/project/msys2/REPOS/MSYS2/$arch
##The UK Mirror Service Sourceforge mirror
Server = http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/ms/msys2/REPOS/MSYS2/$arch
## Primary
Server = ftp://148.251.42.38/MSYS2/$arch
## Sourceforge.net
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MSYS2/$arch
 ##
## -bit Mingw-w64 repository mirrorlist
## Changed on --
##
##中国科学技术大学开源软件镜像
Server = http://mirrors.ustc.edu.cn/msys2/REPOS/MINGW/x86_64
##北京理工大学镜像
Server = http://mirror.bit.edu.cn/msys2/REPOS/MINGW/x86_64
##日本北陆先端科学技术大学院大学 sourceforge 镜像
Server = http://jaist.dl.sourceforge.net/project/msys2/REPOS/MINGW/x86_64
##The UK Mirror Service Sourceforge mirror
Server = http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/ms/msys2/REPOS/MINGW/x86_64
## Primary
Server = ftp://148.251.42.38/MINGW/x86_64
## Sourceforge.net
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/x86_64
 ##
## -bit Mingw-w64 repository mirrorlist
## Changed on --
##
##中国科学技术大学开源软件镜像
Server = http://mirrors.ustc.edu.cn/msys2/REPOS/MINGW/i686
##北京理工大学镜像
Server = http://mirror.bit.edu.cn/msys2/REPOS/MINGW/i686
##日本北陆先端科学技术大学院大学 sourceforge 镜像
Server = http://jaist.dl.sourceforge.net/project/msys2/REPOS/MINGW/i686
##The UK Mirror Service Sourceforge mirror
Server = http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/ms/msys2/REPOS/MINGW/i686
## Primary
Server = ftp://148.251.42.38/MINGW/i686
## Sourceforge.net
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/i686

  如果只是使用32的x86软件,可以在pacman.conf中屏蔽掉mingw64。

 [mingw32]
Include = /etc/pacman.d/mirrorlist.mingw32 # [mingw64]
# Include = /etc/pacman.d/mirrorlist.mingw64 [msys]
Include = /etc/pacman.d/mirrorlist.msys

  Mintty设置:14号Consolas字体,透明度:高。如图所示:

  

  安装Clang和Vim示例:

  

3.其他软件和配置

  Vim的配置.vimrc示例:

 syntax on
set hls is
set number
set ruler
set cindent
set tabstop=
set shiftwidth=
set softtabstop=
set autoindent
set smarttab
set smartindent
set cursorline
set nobackup
set noswapfile
set mouse=a
set helplang=cn
set backspace=indent,eol,start augroup filetypedetect
au BufNewFile,BufRead *.asy setf asy
augroup END
filetype plugin on "--------------------------------------"
func CodeFormat()
let lineNum = line(".")
if &filetype == 'c'
exec "%! astyle -A3Lfpjk3NS\<CR>"
elseif &filetype == 'cpp'
exec "%! astyle -A3Lfpjk3NS\<CR>"
elseif &filetype == 'java'
exec "%! astyle -A2Lfpjk3NS\<CR>"
else
echo "Can't support".&filetype."file type."
endif
exec lineNum
endfunc
"--------------------------------------"
map <S-F> <Esc>:call CodeFormat()<CR>
"--------------------------------------"
func CodeRun()
exec "w"
if &filetype=="c"
exec "!clear&&tcc -run %"
elseif &filetype=="cpp"
exec "!clear&&g++ -o %< && ./%<"
elseif &filetype=="java"
exec "!clear&&javac % && java %<"
elseif &filetype=="python"
exec "!clear&&python %"
endif
endfunc
"--------------------------------------"
map <F5> <ESC> :call CodeRun()<CR>
imap <F5> <ESC> :call CodeRun()<CR>
vmap <F5> <ESC> :call CodeRun()<CR>

  Windows下Mintty和Vim配置右键菜单示例Vim.reg:

 Windows Registry Editor Version 5.00

 [HKEY_CLASSES_ROOT\*\shell]

 [HKEY_CLASSES_ROOT\*\shell\Vim]
@="Vim" [HKEY_CLASSES_ROOT\*\shell\Vim\Command]
@="D:\\Software\\MSYS2\\usr\\bin\\mintty.exe -e D:\\Software\\MSYS2\\usr\\bin\\vim.exe %1"

  如图所示,用Mintty结合Vim打开C语言文件:

  

  打开opengl.c的效果:

  

4.其他可能需要的软件:

  流程图软件Graphviz , 代码阅读软件Understand , 文档阅读SumatraPDF(可与GhostScript结合) ,搜索软件Everything

  矢量图形描述语言:Asymptote。代码编辑器请使用Notepad++,代码格式化结合NppStyle使用。Python集成包请使用:Anaconda

  

  

 

学习环境配置:Manjaro、MSYS2以及常见软件的更多相关文章

  1. linux-深度学习环境配置-Centos

    下载Centos 7安装镜像,制作启动优盘. Install CentOS 7 安装CentOS 7. 第一步,配置日期.语言和键盘. 第二步,选择-系统-安装位置,进入磁盘分区界面.选择-其它存储选 ...

  2. Windows10 + eclipse + JDK1.8 + Apache Maven 3.6.0 + dl4j深度学习环境配置

    Windows10 + eclipse + JDK1.8 + Apache Maven 3.6.0 + dl4j深度学习环境配置 JDK下载安装请自行,并设置好环境变量1 查看Java版本C:\Use ...

  3. deepin深度学习环境配置

    deepin是一个精致优美的系统.最近因为工作需要在deepin上配置深度学习环境,话不多说,接下来记录下整个的配置过程. ×××本篇文章适合对深度学习环境配置有一定了解且对deepin系统感兴趣的同 ...

  4. 深度学习环境配置Ubuntu16.04+CUDA8.0+CUDNN5

    深度学习从12年开始打响,配置深度学习环境软件一直是一个头疼的问题,如何安装显卡驱动,如何安装CUDA,如何安装CUDNN:Ubuntu官方一直吐槽Nvidia显卡驱动有问题,网上大神也给出了关闭li ...

  5. Ubuntu18.04 + CUDA9.0 + cuDNN7.3 + Tensorflow-gpu-1.12 + Jupyter Notebook深度学习环境配置

    目录 一.Ubuntu18.04 LTS系统的安装 1. 安装文件下载 2. 制作U盘安装镜像文件 3. 开始安装 二.设置软件源的国内镜像 1. 设置方法 2.关于ubuntu镜像的小知识 三.Nv ...

  6. Ubuntu16.04 + CUDA9.0 + cuDNN7.3 + Tensorflow-gpu-1.12 + Jupyter Notebook 深度学习环境配置

    目录 一.Ubuntu16.04 LTS系统的安装 二.设置软件源的国内镜像 1. 设置方法 2.关于ubuntu镜像的小知识 三.Nvidia显卡驱动的安装 1. 首先查看显卡型号和推荐的显卡驱动 ...

  7. Keras学习环境配置-GPU加速版(Ubuntu 16.04 + CUDA8.0 + cuDNN6.0 + Tensorflow)

    本文是个人对Keras深度学习框架配置的总结,不周之处请指出,谢谢! 1. 首先,我们需要安装Ubuntu操作系统(Windows下也行),这里使用Ubuntu16.04版本: 2. 安装好Ubunt ...

  8. 深度学习环境配置:Ubuntu16.04安装GTX1080Ti+CUDA9.0+cuDNN7.0完整安装教程(多链接多参考文章)

    本来就对Linux不熟悉,经过几天惨痛的教训,参考了不知道多少篇文章,终于把环境装好了,每篇文章或多或少都有一些用,但没有一篇完整的能解决我安装过程碰到的问题,所以决定还是自己写一篇我安装过程的教程, ...

  9. 深度学习环境配置:Ubuntu16.04下安装GTX1080Ti+CUDA9.0+cuDNN7.0完整安装教程(多链接多参考文章)

    本来就对Linux不熟悉,经过几天惨痛的教训,参考了不知道多少篇文章,终于把环境装好了,每篇文章或多或少都有一些用,但没有一篇完整的能解决我安装过程碰到的问题,所以决定还是自己写一篇我安装过程的教程, ...

随机推荐

  1. Nodejs NPM CNPM优雅安装install

    由于npm和cnpm都能安装组件,安装的组件有的保存在c盘用户目录的Appdata隐藏目录下,有的保存在安装node的目录下,而且安装在c盘的话,重装系统又得重新部署,甚是麻烦,所以这里提供优雅安装的 ...

  2. 第8课 Thinkphp 5 update判断修改成功与失败 Thinkphp5商城第四季

    没有修改数据时,判断修改成功与失败 如果提交时的数据库里之前的数据一样(即没有修改就提交表单),会返回0,此时 判断修改成功用$save !== false 这样才会提示修改成功. $save=db( ...

  3. Python知识点入门笔记——特色数据类型(集合)

    集合是一种不重复的无序集 集合用花括号来定义{} 集合和字典一样,里面的顺序是无序的,{1,2,3}和{3,2,1}是相等的 集合的元素不可重复,也就是说{1,2,2,3}是不存在的,应该写为{1,2 ...

  4. python 爬虫豆瓣top250

    网页api:https://movie.douban.com/top250?start=0&filter= 用到的模块:urllib,re,csv 捣鼓一上午终于好了,有些小问题 (top21 ...

  5. PAT basic 1087

    1087 有多少不同的值 (20 分) 当自然数 n 依次取 1.2.3.…….N 时,算式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 有多少个不同的值?(注:⌊x⌋ 为取整函数,表示不超过 x 的最大自然 ...

  6. java十分钟速懂知识点——NIO

    一.引子 nio是java的IO框架里边十分重要的一部分内容,其最核心的就是提供了非阻塞IO的处理方式,最典型的应用场景就是处理网络连接.很多同学提起nio都能说起一二,但是细究其背后的原理.思想往往 ...

  7. Spring---基于Spring IOC的小程序

    实现的功能以及各文件间的关系 IHelloMessage:一个接口,用于定义输出问候信息. HelloWorld.HelloChina:接口的实现类.在这里表示人在不同的地方 Person:一个人物类 ...

  8. JavaScript 计时事件-setInterval()-clearInterval() -setTimeout()-clearTimeout()

    (PS:JavaScript 一个设定的时间间隔之后来执行代码,我们称之为计时事件.) JavaScript 计时事件 通过使用 JavaScript,我们有能力做到在一个设定的时间间隔之后来执行代码 ...

  9. 43、gridview或者listview的adapter优化

    1.在getview时,如果是一个textview,那么不用每次都new一个或者inflater直接返回,可以先判断convertview是否为空,如果为空则new或者inflate,否则直接返回co ...

  10. [netty4][netty-transpot]Channel体系分析

    Channel体系分析 接口与类结构体系 -- [I]AttributeMap, ChannelOutboundInvoker, Comparable -- [I]AttributeMap ---- ...