此文章参考以下三篇文章,如有侵权请联系

Linux非root用户安装zsh, 并用oh-my-zsh进行配置

在没有sudo权限的Linux服务器下安装oh-my-zsh

不使用root权限安装zsh和oh-my-zsh

安装zsh

  1. 新建zsh文件夹

    cd && mkdir zsh && cd zsh
  2. 下载最新版本的zsh,需要手动添加版本号

    wget https://sourceforge.net/projects/zsh/files/latest/download/zsh-XXX.tar.xz
    (xxx换成最新的版本号)
  3. 解压下载后文件

    xz -d zsh-xxx.tar.xz
    tar -xvf zsh-xxx.tar
    cd zsh-xxx
    (xxx换成最新的版本号)
  4. 编译文件

    ./configure --prefix=$HOME/zsh #表示安装到家目录中的zsh文件夹下,可以自己设置想要的路径
    make && make install
  5. 若没有遇到问题则跳过此步

    问题一./configure出现问题,提示缺少ncurses

    configure: error: "No terminal handling library was found on your system.
    This is probably a library called 'curses' or 'ncurses'. You may
    need to install a package called 'curses-devel' or 'ncurses-devel' on your
    system."
    See `config.log' for more details

    解决

    先配置相应的环境变量,除了第三行可以修改(也可以不修改),其他不用修改

    export CXXFLAGS="-fPIC"
    export CFLAGS="-fPIC"
    export NCURSES_HOME=$HOME/ncurses # 这里表示家目录的ncurses目录,可以自己设置一个想要的路径
    export PATH=$NCURSES_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$NCURSES_HOME/lib:$LD_LIBRARY_PATH
    export CPPFLAGS="-I$NCURSES_HOME/include" LDFLAGS="-L$NCURSES_HOME/lib"

    配置好环境变量后,安装ncurses, 找到最新版本ncurses下载安装

    cd ../../ && mkdir ncurses && cd ncurses  # 切换到上级目录新建ncurses文件夹
    
    wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-XXX.tar.gz  # 下载最新版本ncurses
    tar -xzvf ncurses-XXX.tar.gz # 解压
    cd ncurses-XXX
    # XXX需要改成最新的版本号 ./configure --prefix=$HOME/ncurses --with-shared --without-debug --enable-widec
    # 指定路径configure,可以自己修改想要安装的路径,这里我装到了家目录的ncurses下面了
    make && make install # 安装

    安装完ncurses后,回到zsh路径,重新进行第四步就行了。

    问题二make && make install 时出现问题

    make: *** No targets specified and no makefile found.  Stop.

    这里的问题应该也是问题一,可能是你没有看到而忽略了。按照问题一的解决办法修改就行了。

安装on my zsh

  1. 更新PATH

    安装 oh-my-zsh 前先将安装好的 zsh 所在的路径添加到系统环境变量 PATH

    export PATH=$HOME/zsh/bin:$PATH
    # 这里需要修改成你安装的路径

    但是我们会发现重新登录之后,默认的shell还是bash,这里我们通过修改.bash_profile来自动切换到zsh,将一下命令加到~/.bash_profile

    [ -f $HOME/zsh/bin/zsh ] && exec $HOME/zsh/bin/zsh -l
    # 路径还是要修改成你安装的路径

    注意zsh与scp不兼容,所以不要把该命令写到.bashrc中。因为当我们使用scp命令从本地连接该Linux服务器时,系统会自动执行.bashrc(而不会执行.bash_profile),如果.bashrc中有切换到zsh的命令,则系统的shell会被切换到zsh, 从而与scp产生兼容的问题。

    .bash_profile只有当交互式登录shell时(如系统启动、远程登录)才会被读取并执行,而.bashrc在交互式登录与非交互登录(如使用scp从本地连接到该Linux服务器)时都会被读取且执行。

  2. 安装onmyzsh

    # 方法一:wget方式自动化安装oh my zsh:
    $ wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh # 方法二:
    $ curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh # 官网上的另外一种写法
    $ sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
    $ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" # 方法三:手动安装
    $ git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
    注: 1. 克隆后将templates目录下的zsh配置文件拷贝至~/.zshrc即可
    2. .oh-my-zsh一定要在$HOME下( ~ 下)

    以上选一种即可

  3. 切换到zsh,安装完之后应该是会自动切换到zsh

    exec $HOME/zsh/bin/zsh  # 你的zsh路径

配置on my zsh

  1. 修改默认主题

    vim ~/.zshrc

    用vim打开文件后,按下/键,可以直接搜索ZSH_THEME的位置,按esc即可退出。将其修改成

    ZSH_THEME="ys"
  2. zsh插件

    语法高亮插件 zsh-syntax-highlighting

    git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh}/plugins/zsh-syntax-highlighting

    自动提示插件 zsh-autosuggestions

    git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh}/plugins/zsh-autosuggestions

    下载之后还需要修改.zshrc使其生效,修改plugins的值,将zsh-syntax-highlighting zsh-autosuggestions添加进去

    plugins=(git zsh-syntax-highlighting zsh-autosuggestions)

    然后source

    source ~/.zshrc

Linux 以非root用户安装zsh&配置on my zsh的更多相关文章

  1. Linux 下非 root 用户安装 theano(配置 GPU)

    非 root 用户,安装 Python 第三方的包,尤其像 theano,存在大量的依赖项,存在的主要问题,是安装各个包时的权限问题.所幸,存在这样一个集成工具,叫 anaconda,其已经内置了许多 ...

  2. Linux系统非root用户安装perl模块

    非root权限安装perl 在使用Linux或是unix时,perl是一个非常有用的脚本的语言. 关于perl的模块安装,网上也有很多介绍,一方面可以通过不同套件自带的软件安装工具安装,一方面可以通过 ...

  3. linux centos7 非root用户安装源码版docker

    注意:非root用户必须要有sudo权限 一.安装前的准备 1.查看当前主机是否有docker组 若没有输出结果则新建 再次查看,发现已经有了docker组 2.新增拥有sudo权限的用户(若知道ro ...

  4. Linux下非root用户安装软件的一般流程:

    1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar -zxvf xxx.tar.gz即可 3. 切换到解压后的目录, ...

  5. linux 之 非root用户安装mysql5.7.27

    下载 下载 mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz 详见linux(CentOS7) 之 MySQL 5.7.30 下载及安装. 配置规划 用户: zhj ...

  6. 非root用户安装、配置mysql

    1. 下载mysql,可能是因为服务器操作系统版本较低(CentOS4.3),安装5.7时提示缺lib,刚好我不需要一定安装新版,所以下载了5.1 Linux - Generic (glibc 2.5 ...

  7. [转载]Linux下非root用户如何安装软件

    [转载]Linux下非root用户如何安装软件 来源:https://tlanyan.me/work-with-linux-without-root-permission/ 这是本人遇到的实际问题,之 ...

  8. Linux下非root用户如何安装软件

    Linux下非root用户如何安装软件 从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数.对于这类人只能说可惜,还没有领略到linux的美好就过早放 ...

  9. 源代码安装-非ROOT用户安装软件的方法

    0.    前言 如果你没有sudo权限,则很多程序是无法使用别人编译好的文件安装的. 还有时候,没有对应你的主机配置的安装包,这时候需要我们自己下载最原始的源代码,然后进行编译安装. 这样安装的程序 ...

随机推荐

  1. django学习-25.admin管理后台里:把表名称和表字段名称的展示值都由英文显示改为由中文显示

    目录结构 1.前言 2.完整的操作步骤 2.1.第一步:修改模型类Article 2.2.第二步:重启服务 2.3.第三步:退出登录并再次成功登陆admin管理后台 2.4.第四步:查看最新的表名称展 ...

  2. Java基础语法:static修饰符

    一.静态变量 描述: 在类中,使用'static'修饰的成员变量,就是静态变量,反之为非静态变量. 区别: 静态变量属于类的,可以使用类名来访问:非静态变量是属于对象的,必须使用对象来访问. 静态变量 ...

  3. Qt update刷新之源码分析(二)

    大家好,我是IT文艺男,来自一线大厂的一线程序员 上次视频给大家从源码层面剖析了Qt update刷新机制的异步事件投递过程,这次视频主要从源码层面剖析Qt刷新事件(QEvent::UpdateReq ...

  4. 后端程序员之路 31、Protocol Buffer

    google/protobuf: Protocol Buffers - Google's data interchange formathttps://github.com/google/protob ...

  5. R语言低级绘图函数画个温度计

    x <- 1:2 y <- runif(2,0,100) par(mar=c(4,6,2,6)) plot(x,y,type="n",xlim=c(0.5,2.5),y ...

  6. 00.从0实现一个JVM语言系列

    00.一个JVM语言的诞生 由于方才才获悉博客园文章默认不放在首页的, 原创文章主要通过随笔显示, 所以将文章迁移到随笔; 这篇帖子将后续更新, 欢迎关注! 这段时间要忙着春招实习, 所以项目更新会慢 ...

  7. FakeTaobaoDeepLink - 复制淘宝deeplink来拦截淘宝广告的自动拉起

    Fake Taobao Deeplink 复制 ** com.taobao.tao.welcome.Welcome ** 的intent-filter来拦截误触广告后自动拉起淘宝app 完整工程 Gi ...

  8. PAT-1066(Root of AVL Tree)Java语言实现

    Root of AVL Tree PAT-1066 这是关于AVL即二叉平衡查找树的基本操作,包括旋转和插入 这里的数据结构主要在原来的基础上加上节点的高度信息. import java.util.* ...

  9. 25个关键技术点,带你熟悉Python

    摘要:本文收纳了Python学习者经常使用的库和包,并介绍了Python使用中热门的问题. 01.Python 简介 什么是 Python 一种面向对象的高级动态可解释型脚本语言. Python 解释 ...

  10. 文件查询 select name,age where age>22

    # 员工信息表: 完善代码,背下来给代码加注释column_dic = {'id': 0, 'name': 1, 'age': 2, 'phone': 3, 'job': 4} # 将文件每一列的名字 ...