设为首页 收藏本站
查看: 2179|回复: 0

[经验分享] LINUX(UBUNTU)下的酷炫终端

[复制链接]

尚未签到

发表于 2019-2-18 12:57:46 | 显示全部楼层 |阅读模式
  网上看了一篇老外的文章,是在MAC下利用iTerm2+zsh+Powerlevel9k+Nerd Fonts 搞出来的酷炫终端,
图片是这样的:

是不是第一眼觉得高、大、上,第二眼觉得看上去有点晕。
如果你保持这种第一眼的认知,而苦于没有没有MAC,我告诉你,其实LINUX也能做出类似的效果
  实验利用UBUNTU+XSHELL终端实现(理论上其它发行版也可以)

1、安装zsh
  linux发行版大部分默认SHELL都是bash,而不是zsh,所以第一步安装zsh

z00w00@ubuntu-14:~$ sudo apt-get install zsh
正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
正在读取状态信息... 完成      
将会安装下列额外的软件包:
zsh-common
建议安装的软件包:
zsh-doc
下列【新】软件包将被安装:
zsh zsh-common
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 218 个软件包未被升级。
需要下载 2,721 kB 的软件包。
解压缩后会消耗掉 11.4 MB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://cn.archive.ubuntu.com/ubuntu/ trusty-updates/main zsh-common all 5.0.2-3ubuntu6.3 [2,115 kB]
获取:2 http://cn.archive.ubuntu.com/ubuntu/ trusty-updates/main zsh amd64 5.0.2-3ubuntu6.3 [606 kB]
下载 2,721 kB,耗时 4秒 (621 kB/s)
正在选中未选择的软件包 zsh-common。
(正在读取数据库 ... 系统当前共安装有 56150 个文件和目录。)
正准备解包 .../zsh-common_5.0.2-3ubuntu6.3_all.deb  ...
正在解包 zsh-common (5.0.2-3ubuntu6.3) ...
正在选中未选择的软件包 zsh。
正准备解包 .../zsh_5.0.2-3ubuntu6.3_amd64.deb  ...
正在解包 zsh (5.0.2-3ubuntu6.3) ...
正在处理用于 man-db (2.6.7.1-1) 的触发器 ...
正在设置 zsh-common (5.0.2-3ubuntu6.3) ...
正在设置 zsh (5.0.2-3ubuntu6.3) ...
update-alternatives: using /bin/zsh5 to provide /bin/zsh (zsh) in 自动模式
update-alternatives: using /bin/zsh5 to provide /bin/rzsh (rzsh) in 自动模式
update-alternatives: 警告: 跳过创建 /usr/share/man/man1/rzsh.1.gz 因为所关联文件 /usr/share/man/man1/zsh.1.gz (位于链接组 rzsh)不存在
  现在我们把默认用户的SHELL改掉

z00w00@ubuntu-14:~$ chsh -s /bin/zsh
密码:
z00w00@ubuntu-14:~$ cat /etc/passwd |grep z00w00
z00w00:x:1000:1000:z00w00,,,:/home/z00w00:/bin/zsh
2、安装git

z00w00@ubuntu-14:~$ sudo apt-get install git
正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
正在读取状态信息... 完成      
将会安装下列额外的软件包:
git-man liberror-perl
建议安装的软件包:
git-daemon-run git-daemon-sysvinit git-doc git-el git-email git-gui gitk
gitweb git-arch git-bzr git-cvs git-mediawiki git-svn
下列【新】软件包将被安装:
git git-man liberror-perl
升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 218 个软件包未被升级。
需要下载 3,394 kB 的软件包。
解压缩后会消耗掉 22.0 MB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://cn.archive.ubuntu.com/ubuntu/ trusty/main liberror-perl all 0.17-1.1 [21.1 kB]
获取:2 http://cn.archive.ubuntu.com/ubuntu/ trusty-updates/main git-man all 1:1.9.1-1ubuntu0.8 [701 kB]
获取:3 http://cn.archive.ubuntu.com/ubuntu/ trusty-updates/main git amd64 1:1.9.1-1ubuntu0.8 [2,672 kB]
下载 3,394 kB,耗时 6秒 (522 kB/s)                                             
正在选中未选择的软件包 liberror-perl。
(正在读取数据库 ... 系统当前共安装有 57218 个文件和目录。)
正准备解包 .../liberror-perl_0.17-1.1_all.deb  ...
正在解包 liberror-perl (0.17-1.1) ...
正在选中未选择的软件包 git-man。
正准备解包 .../git-man_1%3a1.9.1-1ubuntu0.8_all.deb  ...
正在解包 git-man (1:1.9.1-1ubuntu0.8) ...
正在选中未选择的软件包 git。
正准备解包 .../git_1%3a1.9.1-1ubuntu0.8_amd64.deb  ...
正在解包 git (1:1.9.1-1ubuntu0.8) ...
正在处理用于 man-db (2.6.7.1-1) 的触发器 ...
正在设置 liberror-perl (0.17-1.1) ...
正在设置 git-man (1:1.9.1-1ubuntu0.8) ...
正在设置 git (1:1.9.1-1ubuntu0.8) ...
3、 安装oh-my-zsh
  它是基于 zsh 命令行的一个扩展工具集,驱动的命令行工具,提供了主题配置

z00w00@ubuntu-14:~$ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
Cloning Oh My Zsh...
正克隆到 '/home/z00w00/.oh-my-zsh'...
remote: Counting objects: 898, done.
remote: Compressing objects: 100% (754/754), done.
remote: Total 898 (delta 25), reused 731 (delta 17), pack-reused 0
接收对象中: 100% (898/898), 595.72 KiB | 107.00 KiB/s, done.
处理 delta 中: 100% (25/25), done.
检查连接... 完成。
Looking for an existing zsh config...
Using the Oh My Zsh template file and adding it to ~/.zshrc
Time to change your default shell to zsh!
密码:
__                                     __   
____  / /_     ____ ___  __  __   ____  _____/ /_  
/ __ \/ __ \   / __ `__ \/ / / /  /_  / / ___/ __ \
/ /_/ / / / /  / / / / / / /_/ /    / /_(__  ) / / /
\____/_/ /_/  /_/ /_/ /_/\__, /    /___/____/_/ /_/  
/____/                       ....is now installed!
。。。省略部分

4、安装Nerd Fonts字体并配置

  注意这个明显表示提示符发生变化


➜  ~ mkdir -p Library/Fonts
➜  ~ cd ~/Library/Fonts
➜  Fonts pwd
/home/z00w00/Library/Fonts
➜  Fonts curl -fLo "Droid Sans Mono for Powerline Nerd Font Complete.otf" https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.ot
f
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100   213  100   213    0     0    124      0  0:00:01  0:00:01 --:--:--   124
100 2157k  100 2157k    0     0   142k      0  0:00:15  0:00:15 --:--:--  275k
➜ sudo apt-get install ttf-mscorefonts-installer
正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
正在读取状态信息... 完成      
将会安装下列额外的软件包:
cabextract fonts-liberation libfontenc1 libxfont1 x11-common
xfonts-encodings xfonts-utils
下列【新】软件包将被安装:
cabextract fonts-liberation libfontenc1 libxfont1 ttf-mscorefonts-installer
x11-common xfonts-encodings xfonts-utils
升级了 0 个软件包,新安装了 8 个软件包,要卸载 0 个软件包,有 218 个软件包未被升级。
需要下载 2,208 kB 的软件包。
解压缩后会消耗掉 4,358 kB 的额外空间。
您希望继续执行吗? [Y/n] y
。。。省略
➜  Fonts  mkfontscale
➜  Fonts mkfontdir
➜  Fonts sudo apt-get install fontconfig
正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
正在读取状态信息... 完成      
将会安装下列额外的软件包:
fontconfig-config fonts-dejavu-core libfontconfig1
下列【新】软件包将被安装:
fontconfig fontconfig-config fonts-dejavu-core libfontconfig1
升级了 0 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 218 个软件包未被升级。
需要下载 1,371 kB 的软件包。
解压缩后会消耗掉 4,406 kB 的额外空间。
您希望继续执行吗? [Y/n] y
。。。 省略
➜  ~ git clone https://github.com/bhilburn/powerlevel9k.git ~/powerlevel9k
正克隆到 '/home/z00w00/powerlevel9k'...
remote: Counting objects: 6938, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 6938 (delta 0), reused 2 (delta 0), pack-reused 6933
接收对象中: 100% (6938/6938), 1.94 MiB | 8.00 KiB/s, done.
处理 delta 中: 100% (4440/4440), done.
检查连接... 完成。
➜  Fonts fc-cache -fv ./
/home/z00w00/Library/Fonts: caching, new cache contents: 1 fonts, 0 dirs
/home/z00w00/Library/Fonts: caching, new cache contents: 1 fonts, 0 dirs
/var/cache/fontconfig: not cleaning unwritable cache directory
/home/z00w00/.cache/fontconfig: cleaning cache directory
/home/z00w00/.fontconfig: not cleaning non-existent cache directory
fc-cache: succeeded
5、安装Powerlevel9k主题
  以上我们做的zsh和oh-my-zsh都是给这个ZSH主题做基础

➜  ~ git clone https://github.com/bhilburn/powerlevel9k.git ~/powerlevel9k
正克隆到 '/home/z00w00/powerlevel9k'...
remote: Counting objects: 6938, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 6938 (delta 0), reused 2 (delta 0), pack-reused 6933
接收对象中: 100% (6938/6938), 1.94 MiB | 8.00 KiB/s, done.
处理 delta 中: 100% (4440/4440), done.
检查连接... 完成。
  简单编辑.zshrc

vim ~.zshrc
#添加和修改11-16行
ZSH_THEME="~/powerlevel9k"
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir vcs newline status)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=()
POWERLEVEL9K_PROMPT_ADD_NEWLINE=true
POWERLEVEL9K_MODE='nerdfont-complete'
source ~/powerlevel9k/powerlevel9k.zsh-theme
  注意要正常显示要将XSHELL终端字体改为


  方法:上传字体文件到你的XHSELL安装服务器,然后安装字体

  实现的初步效果如下:

  之所以能显示带有图标的,是我们使用中文名叫“书呆子字体”的,比传统装逼字体powerline 以及其扩展多了上千个icon,具体情况请自行搜索
  使用这种字体后,再加上一款基于ruby的Colorls工具,MAC下的效果如下:

  这种效果我们继续在ubuntu上模拟

6、 安装ruby
  由于ubuntu的默认ruby版本比较旧,colorls的作者建议至少在2.1,经过我测试在低版本1.9上安装确实有问题,所以安装2以上版本方法如下:

   sudo apt-add-repository ppa:brightbox/ruby-ng
Next generation Ubuntu packages for Ruby 2.5, 2.4, 2.3, 2.2, 2.1, 2.0 1.9.3 and 1.8.
See https://www.brightbox.com/docs/ruby/ubuntu/ for more details.
Discussion list here:
https://groups.google.com/forum/#!forum/brightbox-ruby-ubuntu-packaging
https://www.brightbox.com
更多信息: https://launchpad.net/~brightbox/+archive/ubuntu/ruby-ng
按回车继续或者 Ctrl+c 取消添加
gpg: 钥匙环‘/tmp/tmpm8x7ox_r/secring.gpg’已建立
gpg: 钥匙环‘/tmp/tmpm8x7ox_r/pubring.gpg’已建立
gpg: 下载密钥‘C3173AA6’,从 hkp 服务器 keyserver.ubuntu.com
gpg: /tmp/tmpm8x7ox_r/trustdb.gpg:建立了信任度数据库
gpg: 密钥 C3173AA6:公钥“Launchpad PPA for Brightbox”已导入
gpg: 合计被处理的数量:1
gpg:               已导入:1  (RSA: 1)
OK
 ~ 
 ↵ 100  sudo apt-get update         
命中 http://security.ubuntu.com trusty-security InRelease                     
。。。。
 ~ 
   sudo apt-get install ruby2.2
正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
正在读取状态信息... 完成      
下列软件包是自动安装的并且现在不需要了:
libtcl8.5 libtk8.5 libxft2 libxrender1 libxss1 ruby1.9.1-examples
Use 'apt-get autoremove' to remove them.
将会安装下列额外的软件包:
libjs-jquery libruby2.2 rubygems-integration
建议安装的软件包:
javascript-common bundler
下列【新】软件包将被安装:
libjs-jquery libruby2.2 ruby2.2 rubygems-integration
升级了 0 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 216 个软件包未被升级。
需要下载 3,559 kB 的软件包。
解压缩后会消耗掉 15.8 MB 的额外空间。
您希望继续执行吗? [Y/n] y
。。。
  同时要安装ruby2.2.-dev

 ↵ 100  sudo apt-get install ruby2.2-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
正在读取状态信息... 完成      
下列软件包是自动安装的并且现在不需要了:
libtcl8.5 libtk8.5 libxft2 libxrender1 libxss1 ruby1.9.1-examples
Use 'apt-get autoremove' to remove them.
将会安装下列额外的软件包:
libgmp-dev libgmpxx4ldbl
建议安装的软件包:
libgmp10-doc libmpfr-dev
下列【新】软件包将被安装:
libgmp-dev libgmpxx4ldbl ruby2.2-dev
升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 216 个软件包未被升级。
需要下载 1,303 kB 的软件包。
解压缩后会消耗掉 6,417 kB 的额外空间。
您希望继续执行吗? [Y/n] y
  安装colorls的时候,发现调用make工具,建议也提前安装一下

 ↵ 1  sudo apt-get install build-essential libtool
正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
正在读取状态信息... 完成      
将会安装下列额外的软件包:
autotools-dev dpkg-dev fakeroot g++ g++-4.8 libalgorithm-diff-perl
libalgorithm-diff-xs-perl libalgorithm-merge-perl libdpkg-perl libfakeroot
libfile-fcntllock-perl libltdl-dev libltdl7 libstdc++-4.8-dev make
建议安装的软件包:
debian-keyring g++-multilib g++-4.8-multilib gcc-4.8-doc libstdc++6-4.8-dbg
libtool-doc libstdc++-4.8-doc autoconf automaken gfortran fortran95-compiler
gcj-jdk make-doc
下列【新】软件包将被安装:
autotools-dev build-essential dpkg-dev fakeroot g++ g++-4.8
libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl
libdpkg-perl libfakeroot libfile-fcntllock-perl libltdl-dev libltdl7
libstdc++-4.8-dev libtool make
升级了 0 个软件包,新安装了 17 个软件包,要卸载 0 个软件包,有 215 个软件包未被升级。
需要下载 20.7 MB 的软件包。
解压缩后会消耗掉 47.5 MB 的额外空间。
您希望继续执行吗? [Y/n] y
7、安装corlorls

? ? ? sudo gem install colorls        
Building native extensions.  This could take a while...
Successfully installed clocale-0.0.4
Fetching: colorls-1.1.1.gem (100%)
*******************************************************************
Changes introduced in colorls
Sort by dirs  : -sd flag has been renamed to --sd
Sort by files : -sf flag has been renamed to --sf
Git status    : -gs flag has been renamed to --gs
Clubbed flags : `colorls -ald` works
Help menu     : `colorls -h` provides all possible flag options
Tab completion enabled for flags
-t flag : Previously short for --tree, has been re-allocated to sort results by time
-r flag : Previously short for --report, has been re-allocated to reverse sort results
Man pages have been added. Checkout `man colorls`.
*******************************************************************
Successfully installed colorls-1.1.1
Parsing documentation for clocale-0.0.4
Installing ri documentation for clocale-0.0.4
Parsing documentation for colorls-1.1.1
Installing ri documentation for colorls-1.1.1
Done installing documentation for clocale, colorls after 0 seconds
2 gems installed
  以上状态表示安装成功
  测试效果如下:


8、谈谈powerlevel9k主题
  虽然我们为装逼酷炫更换了SHELL,可能有些人觉得不值得。但是如果你研究一下这个基于ZSH的主题,其实还是觉得值得的。
  经过调整后,我的最后的效果如下:


  文件图标显示不是很完美,疑似等宽的问题,我没有再继续研究调整字体或修改配置等。

  最后

  我不建议你在生产服务器搞这些东西,但是如果你有一些测试的LINUX系统,我觉得玩一下还是不错的选择。





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-674005-1-1.html 上篇帖子: 如何在ubuntu16.04 LAMP VPS上安装 Lychee 3.1相册 下篇帖子: Ubuntu 下 apt
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表