作者归档:Young

一些简单的tmux设置

概述

如果使用Linux作为服务器的操作系统,通过ssh操作时,会出现一个困难的选择:是否需要打开n个终端窗口?

如果服务器可以直接ssh的话,那么通过复用会话的方式似乎还算是个好选择,或者编写一个expect登陆脚本完成自动登陆操作。

当然,如果有如下需求:

  • 回家之后继续在公司的工作
  • 防止偶发的网络断开引起的重新连接
  • 运行时同时使用监控软件查看运行状态

那么这时候就需要使用终端复用软件了。

问题

tmux这个终端复用软件的强大无需多说,众多复杂的设置似乎对我来说并没有必要。而在使用中,自己曾经遇到过这些问题:

  • 默认的前缀按键Ctrl+b比较难按
  • 部分管理的快捷键并不方便(如关闭window,Ctrl+b -> Shift+7 -> y)或者并不形象(比如分割窗口)

需求

针对上面的问题,需求就变成了:

  • 能快速创建、切换pane(充分利用屏幕空间)
  • 快速切换window(可以直接通过组合数字键等方式切换)
  • 按键要便捷

细化一下,就变成了:

  • 能够通过数字键切换window
  • 能够顾通过方向键切换相邻window
  • 通过两次按键的组合键完成创建、切换、关闭window的操作
  • 通过两次按键的组合键完成创建、切换、关闭pane的操作
  • 通过-完成纵向切分window的操作
  • 通过\完成横向切分window的操作(\与|在一个按键上)
  • 快捷键前缀由C-b变为C-x

tmux-multi-pane-effect

配置

其中M表示键盘上的option/alt键S表示Shift键

如果不想增加关闭前的确认步骤,只需去掉指令中的confirm-before

还有一步

使用iTerm2时,为了能够让M键(即键盘上的option/alt键)能够完成上述工作,还需要进行设定:

tmux-iterm2-config

键盘上的两个option/alt键只需使用一个即可。

使用Nagios监控Redis-按内存使用率监控

概述

本文是 使用Nagios监控Redis 的补充记录。

根据前期选用的插件,通过直接针对 used_memory_rss 设定监控阈值完成监控,而这一阈值的问题在于是使用字节数的表示的,如果要按照36GB70%设定阈值监控,就需要将监控的值设定为(结果已四舍五入):

这一数字对于config文件来说,以及监控用户来说并不友好。

解决

插件本身也提供了直接通过使用率进行监控的使用方式,我们所需要做的就是告知插件对应实例的最大内存容量,即:

这一参数可以使用人类友好的单位表示方式表示数值。

同时设定阈值需要使用 -m 参数,即:

即通过逗号分隔 warncritical 两个级别的报警阈值。如同手册所说的,必须与 -M 同时使用。

我们所需要做的就是在 /nip/etc/objects/commands.cfgnipnagios安装目录的缩写,根据实际情况决定)中新增或者修改一个命令:

同时在 /nip/etc/conf/services.cfg 中使用这一命令:

当然,也可以修改插件完成。

以上。

2015

工作

概述

工作上今年尝试了几个新的方向,尝试了基本的前端、客户端开发,虽然没有能够深入的发展,也算是一段愉快的经历。

最终还是接着回到了后端开发的路线上,以后可能会沉下心来好好做一下这些方面的工作吧。

教训

一年的时间,看到了自己身上的问题,吃了很多苦头,每一次失误,都能看到自己的和目标的差距。

今年一定要记得提前报备所有问题,提前准备依赖事项。

工作中刨除掉个人的情绪,会让工作变得简单。

最重要的,基础知识记得学透彻,多说无益,能力说话。

出了问题第一反应就是先会找自己的问题,可是有时候方法不够科学,反省和自责是必要的,但是比不上把问题漂亮的解决掉。

上面的文字看起来总会感觉像是说教,可是如果回到那些难办的时候,真希望能自己在我耳边这么说教一番,是不是就能规避这些问题,能让我做的更好?

生活

今年的生活上并没有太多的进展,过于平淡到让我觉得可能是我记事以来几乎没有什么亮点的一年。

物质上唯一的收获是终于学会了管住自己的手,终于开始进入了储蓄阶段,偶有冲动消费,但是比起之前已经好了很多,开始关注如何规划用好手上的钱。

今年回家时间比往年多了不少,越来越感觉到家人的重要性,以后应该也会多抽出时间和家人在一起,今年给家人的礼物还是实用向,算是微微提升了家里的生活品质。

希望能够多陪陪家人,但是也想要在自己喜欢的行业里多花点时间,真是难题。

今年没有出去旅行,原因未明。

最大的遗憾是犹豫和迟疑太多,下次不要这样。

读书不到30本,历史新低;观影不过百,近年最少;跑步停留在5km,没有进步;减下去的体重再次回来,遗憾……比起去年进步的地方应该是我的脖子似乎好了,朋友们记得把你的显示器调高,对颈椎真有好处;记得买或者申请两个及以上显示器,来回动脖子看看对颈椎有好处。

心里太不平静。

最后

每次到了这个时候,总觉得自己又多了一年可以挥霍,希望今年能改掉这个习惯,把时间用在热爱的事情上,把时间用在美好的事情上,恢复自己应该有的样子。

技术上今年准备踏实做一些事情,不进则退,喜欢这个行业带给我的紧迫感,喜欢这种向上的感觉,希望年底大家说一句我很靠谱。

希望自己今年能够平静一些,对人对事更成熟。

把读书的习惯捡回来,回到以前的节奏;电影还是要看的,旅行也是要有的,不需要说走就走,也可以随便走走,不想做个空洞的人。

保持和家人的相处时间。

恩,这大概就是我对2016的一些愿望了,还好我今年24,还有机会补救。

以上。

在Mac上简易设置Oh-My-Zsh的BulletTrain主题

起因

近期有了一台新的MacBook,自然少不了基本的装机过程,其中Homebrew和Oh-My-Zsh作为生产力工具算是必装的软件。

不过Oh-My-Zsh的默认主题看久了仍然还是觉得有些枯燥,动了想要更换主题的念头,于是有了后面的步骤。

步骤

安装Vim

常规的Homebrew安装和Oh-My-Zsh不需多言,而这次选定的Bullet Train主题却需要Vim的Powerline插件支持。而Powerline需要正常显示则需要安装已Patch了特殊字符的字体,如果使用iTerm2还需要设定显示字体为已Patch的字体……

由于Powerline需要Python支持,那么安装vim可以按照如下方式进行安装:

安装已Patch的字体

针对一些譬如手写对勾和叉以及git分支之类的符号,需要安装已Patch的字体,按照说明安装即可。

由于个人比较喜欢Monaco字体,对Monaco字体进行了Patch。

安装powerline

由于一直使用Vundler管理vim插件,通过Vundler安装这一插件十分方便,在~/.vimrc中添加:

为了启用这一插件的美化效果,则需要在~/.vimrc中添加如下配置:

之后在vim中执行:BundleInstall即可,还没有使用Vundler的可以一试。

具体参考了setup-vim-powerline-and-iterm2-on-mac-os-x

设置iTerm2

iTerm2个人一直在使用,需要将显示字体设定为已Patch的字体。

iterm2-set-display-patch-font

vim能够显示三角、分支等特殊字符即说明已然设置完毕。

fancy-vim

安装Bullet Train for oh-my-zsh

Oh-My-Zsh的主题安装一直都是很简便,直接wget对应的插件到~/.oh-my-zsh/themes即可,启用则是在~/.zshrc中设定ZSH_THEME="bullet-train"即可。

default-theme-effect

定制显示颜色

默认的显示颜色感觉略微的不和谐,好在这一主题可以通过在~/.zshrc中设置颜色等属性完成设定。

首先这里要保证iTerm2使用的是xterm-256color终端方式(在iTerm2的Preference->Profiles->Terminal中可以查看),后续显示使用的颜色会设定成这256色中一种。

定制颜色主要分为前景色,即字体的显示颜色,以及背景色。

这一主题的箭头标部分主要显示的是时间、目录、当前目录git信息,所以主要设定的是这三个部分的颜色以及参数:

阅读主题源码后了解到对于颜色直接对属性值赋予256色对应的颜色值即可。

颜色与数值的对应关系可以参考下图:

256-colors

最后

历经这一过程,终于完成了一些简单的修改,工作的时候可能也会更愉悦吧

theme-effect

以上。

从Pelican到Hexo

起因

用Pelican在GitHub上搭blog有段时间了,一直想要更清爽简单的blog解决方案,之前使用的Pelican算是满足了我的需求,但是还想尝试一下其他的系统,同时从视觉效果上来说Hexo+Next主题目前更让我觉得满意,于是决定从Pelican迁移到Hexo。

问题

搭建、使用Hexo的教程google一下就能找到,这里主要说一下自己迁移过程中遇到的一些小问题。

文档迁移

Pelican本身也是支持Markdown的的文章写作方式,其实需要修正的地方主要是头部的部分属性。

首先可以将Pelican的content目录下的所有Markdown文件复制到Hexo目录下的source/_posts/目录下。

Pelican通过DateTitleCategoryTagsSlug来表征写作时间、标题、分类、标签、Url等信息,例如:

而Hexo也是类似:

可以简单使用sed完成转换:

关于sed -i后的参数问题,参见stackoverflow上关于在Mac OS X下的sed使用问题

Git设置

允许Git添加非ASCII文件

hexo deploy过程中会在Git中在添加非ascii文件,所以需要在选项中开启这一设置。

Git中文文件名

某些情况下文章使用了中文tag,而生成Tag时会生成中文文件名的目录文件,Git需要关闭对中文文件名的转码。

GitHub CNAME问题

使用GitHub部署的情况下,绑定自定义域名的方法自然是添加一个CNAME文件,最简单的方法可以使用插件来完成。

最后

以上