判断终端色彩支持情况的方法

黑白的世界总没有彩色的世界精彩,最初的Linux或其他系统的Shell终端肯定只有黑白的,之后逐渐出现了支持8色、16色、256色及真彩色的终端。目前主流的终端一般都支持256色,未来的趋势是支持24位真彩色。那如何判断当前使用的是哪种模式,以及如何更改设置呢?本文就以Ubuntu下Gnome-Terminal为例介绍一下设置方法,理论上应该适用于所有Linux终端。

Hexo Git部署警告"warning: LF will be replaced by CRLF"的去除方法

Windows下在使用hexo d命令部署博客时,会出现下面这个警告:

1
The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in index.html.

这个警告的意思很直接,就是Git会把LF替换为CRLF,不过这是无关紧要的,完全可以禁用此功能,这样还可以避免这个警告信息刷屏。设置方法也很简单,在MinGW窗口中输入以下命令即可:

1
git config --global core.autocrlf false

参考资料:
Windows git “warning: LF will be replaced by CRLF”, is that warning tail backward?

Linux下让进程在后台可靠运行的方法

在登录到Linux服务器后运行某程序,之后断开连接,那之前运行的程序就会被中止掉。这是由于新进程默认都是当前进程的子进程,断开连接关闭当前终端就会把它的所有子进程都结束掉。不过很多时候我们需要让程序稳定的一直运行下去,这时候就需要使用一些方法来处理此问题了。IBM有一篇很好的文章深入探讨了此问题,本文就是对它的简化总结:

Linux 技巧:让进程在后台可靠运行的几种方法

SSH连接自动断开的解决方法

使用SSH连接远程服务器时,如果长时间不操作,SSH连接上就没有数据传输,此时连接会自动断开,常见的错误提示是:

1
Write failed: Broken pipe

这种超时断开机制估计是出于安全考虑设计的,不过这也会对正常使用造成一定影响,需要进行一些设置来避免这一问题。

VMware Ubuntu虚拟机中为终端配置Shadowsocks代理

很多常用的终端命令操作是需要联网的,比如git clone等,然而由于墙的存在,很多像Github这样的网站访问可靠性极差,或者直接就无法访问,这时候就需要梯子了……只使用浏览器时很简单,Chrome SwitchyOmega + Shadowsocks的方案很完美,不过涉及到终端命令时这种方案就无能为力了,此时需要使用其它一些方法来解决。

OpenCV与Qt结合使用

OpenCV本身能生成的GUI界面极为简陋,故一般使用MFC或Qt等框架来搭建GUI界面,并将OpenCV嵌入进去。因为我之前也用过Qt,故此处选择了Qt作为GUI框架,二者结合的主要问题在于图片的显示上,本文就以最新的OpenCV3及Qt5为例介绍一下实现方法。