编译安装oh-my-zsh
1.前言
oh-my-zsh是基于zsh的一套美化工具,其内部也提供很多主题以及插件。github介绍
2.有啥用

对我来说可能查看git分支更加直观,另外其强大的补全功能
又或者更加直观的查看上一条命令的返回值是否为0
当然这点功能只能算冰山一角,还有很多功能值的探索,其不只是一个美化工具也是可以提升工作效率的利器!
3.如何安装
由于是在公司服务器上我没有root权限和sudo权限,所以只能采取编译安装的办法。
oh-my-zsh依赖 zsh,而zsh 依赖与 ncurses,所以首先编译安装ncurses。
3.1 编译安装ncurses
在编译前需要导入一些环境变量,导入环境变量的作用是后续编译zsh的时候能够找到ncurses链接库
export CXXFLAGS="-fPIC"
export CFLAGS="-fPIC"
export NCURSES_HOME=$HOME/.local # 你自己的 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"
可以将其写入到 ~/.bashrc 中,然后source ~/.bashrc一下。
开始下载编译
wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.1.tar.gz # 下载ncurses
tar -xzvf ncurses-6.1.tar.gz # 解压
cd ncurses-6.1
./configure --prefix=$HOME/.local/ --with-shared --without-debug --enable-widec # 指定路径configure
make -j4 && make install
编译安装成功后会在 家目录下的.local文件夹下,bin目录下是可执行文件,lib目录下存放供zsh使用ncurses的链接库,还有一些头文件放在include文件夹下,可供开发使用,不过这些都不需要care。
3.2 编译安装zsh
wget https://jaist.dl.sourceforge.net/project/zsh/zsh/5.9/zsh-5.9.tar.xz
tar -xvf xvf zsh-5.9.tar.xz
cd zsh-5.9
./configure --prefix=$HOME/.local/ # --prefix是指定编译安装后的目录,也就是最终编译成功后会安装在 $HOME/.local/bin 目录
make -j4 && make install
由于 $HOME/.local/bin 目录默认在 PATH 环境变量中,所以此时输入 zsh 是可以调用到编译好的zsh的
到此 zsh 和 ncurses 都已编译安装成功
3.2 安装 oh-my-zsh
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
等待安装成功
此时会自动进入zsh,下次启动输入 zsh 即可进入。
4.更换oh-my-zsh主题
oh-my-zsh 有很多主题,其可以在 $HOME/.oh-my-zsh/themes 看到:

其主题更换,可以修改 $HOME/.zshrc 文件内容

如我这里用的主题配置的是agnoste
5.启动自动进入zsh
这里互联网上一般使用 chsh命令来更换默认shell, 但是对于没有root 权限,或者不想修改全局配置的用户来说显然是不好的。
所以这里采用 修改$HOME/.bashrc 文件, 在最后一行加入 zsh 就可以了, 这个文件的作用就是每次shell启动的时候就会自动执行,所以每次ssh连接进入的时候就会自动进入 zsh
6.其它安装软件的方式
由于apt 安装软件需要root权限,所以可以采用 apt download deb,然后解压deb包,最后再将 加压的文件放到 .local 目录下即可
例如 安装 htop
apt download htop
dpkg-deb --fsys-tarfile htop_2.1.0-3_amd64.deb | tar xvf - # 解压deb
cp -r ./usr/* .local # 将解压出来的usr目录下的所有文件夹以及文件 复制到.local下
这种安装方式适合依赖少的软件,如果依赖多就需要下载多个deb包,然后移动到对应目录,这种方法相较于编译安装还是方便了不少
编译安装oh-my-zsh的更多相关文章
- Linux 下源码编译安装 vim 8.1
前言 目前 linux 的各个发行版基本上都是带了一个 vi 编辑器的,而本文要说的 vim 编辑器对 vi 做了一些优化升级,更好用.当我们需要远程操作一台 linux 服务器的时候,只能使用命令行 ...
- centos7(debian,manjora,freebsd)命令及安装mysql、git、gpg、gogs,安装docker,zsh,chrome
最小安装: 1. 选择English 2. DATE & TIME 修改好本地时间 SOFTWARE SELECTION默认的Minimal Install就好 INSTALLATION DE ...
- CentOS7 编译安装nodejs,配置环境变量记录
每次都装,每次都查 阿里云备案了一个域名,续费了好多年,但是没钱买服务器,就挂在github上.今天收到消息:域名解析服务器不在阿里云,要被GG.只能咬牙买了个阿里云乞丐版. 所有服务都装好了,pin ...
- CentOS 7上的程序管理:rpm、yum和源码编译安装
简介 在Linux的早期时代(也许吧?我猜的.也可能是Unix.),想要在系统上安装一款应用程序,是比较复杂的.需要专业的人员自行获取程序的源代码,并且编译安装,这是非常的复杂且需要一定的专业功底的, ...
- 十七、程序包管理之yum和编译安装
YUM Redhat二次发行版 Yellow Dog Linux,上使用的yum(Yellowdog Update Modifier),由yellow dog 研发 yum命令的工作原理 1.接收用户 ...
- openssl1.0在mac下的编译安装(踩坑精华)
之前做了一次brew版本升级,然后用pip3安装的一个python命令就无法执行了(涉及到openssl库),执行就会报一个错误. ImportError: dlopen(/usr/local/Cel ...
- Linux的编译安装、压缩打包、定时任务
昨日内容回顾 # 1.搭建yum私有仓库 1.安装必须的工具 yum install createrepo yum-utils nginx -y 2.创建目录 mkdir /opt/test 3.创建 ...
- 9、Linux基础--编译安装、压缩打包、定时任务
笔记 1.晨考 1.搭建yum私有仓库的步骤 1.安装工具 yum install createrepo yum-utils nginx -y 2.创建目录 mkdir /opt/test 3.创建包 ...
- mac M1 php扩展 xlswriter 编译安装爬坑记录
电脑配置 MacBook Pro(14英寸,2021年) 系统版本 macOS Monterey 12.4 芯片 Apple M1 Pro PHP环境 MAMP Pro Version 6.6.1 ( ...
- Centos6.5下编译安装mysql 5.6
一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...
随机推荐
- 坚守自主创新,璞华HawkEye IETM系统惠及国计民生
可上九天揽月,可下五洋捉鳖,这是我们很多年的梦想.而要实现这样的梦想,不仅需要安全可靠的技术装备,还需要让这些技术装备处于良好的维保状态.于是,作为装备维保过程中必须的知识创作.管理.发布.浏览工具, ...
- Kubernetes实践技巧:集群升级k8s版本
更新证书 使用 kubeadm 安装 kubernetes 集群非常方便,但是也有一个比较烦人的问题就是默认的证书有效期只有一年时间,所以需要考虑证书升级的问题,本文的演示集群版本为 v1.16.2 ...
- proxysql cluster 的搭建
文章转载自:https://blog.51cto.com/lee90/2298804 官方文档: https://proxysql.com/blog/proxysql-cluster 环境架构 在一主 ...
- 改善C#程序的方法-3 比较器和LINQ排序
一 创建对象时考虑实现比较器 假设有这样的场景,有一个40个人的学生列表,业务中需针对学生的成绩来进行排序. 可以考虑用IComparable接口和ICompare接口实现: class Progra ...
- 记Windows的一个存在了十多年的bug
bug Windows有一个bug,持续了十多年,从Windows Visita开始(2007年),一直存在,直到Windows11(2021年)才修复(其实也不叫修复,后面我再具体说),而Windo ...
- 2. 单主机 Elasticsearch 双节点或多节点集群环境部署
我已经买了一年的腾讯云轻量级服务器,并且安装好了ES,也做了一些系统配置,比如 修改vm.max_map_count.修改文件描述符数量 同时,也用ES安装目录下的 bin/elasticsearch ...
- 程序员便于开发的一些工具、网站、App。
http://www.kancloud.cn 关于文档,各种技术,框架的学习指南,API文档搜索方便. https://leetcode.com/ 程序员刷题面试网站,无聊的时候可以做一做.
- 什么是Scrum?Scrum的核心要点和精髓
有点长,期望你能通过本文彻底了解 Scrum. 上一篇文章<研发效能组织能力建设之特性团队FeatureTeam(上)>,我们介绍了一个非常有意思且高效的组织模式-特性团队.我们首先介绍了 ...
- OCI runtime exec failed: exec failed: unable to start container process: exec: "mongo": executable file not found in $PATH: unknown
前言: 今天按照以往在Docker安装MongoDB的方式安装,但是到最后使用mongo命令执行mongodb命令的时候一直执行不成功,最后还是按照官网的Issues解决了. 创建并运行一个Mongo ...
- VS Code For Web 深入浅出 -- 导读篇
下一代 IDE 的形态究竟是什么呢?VS Code For Web 试图回答这个问题. 背景 众所周知,VS Code 是当前工业界最优秀的代码编辑器之一.它由<设计模式>的作者 Eric ...