{"componentChunkName":"component---src-templates-blog-post-js","path":"/problems-encountered-in-linux/","result":{"data":{"site":{"siteMetadata":{"title":"星雨之夜"}},"markdownRemark":{"id":"05901e5d-0cf1-5674-be32-9233e461771b","excerpt":"本文不定时更新，首次发表于 2015 年 2 月 1 日，最后编辑于 2017 年 1 月 18 日。 2015-02-01 CentOS 中 nginx 的权限 这两天把服务器从 Ubuntu 换成 CentOS，没想到就立刻踩到了奇怪的坑。首先 nginx 安装完成之后服务器 IP 能够正常访问，并显示 nginx…","html":"<p>本文不定时更新，首次发表于 2015 年 2 月 1 日，最后编辑于 2017 年 1 月 18 日。</p>\n<!-- more -->\n<h2>2015-02-01</h2>\n<ul>\n<li>\n<p><strong>CentOS 中 nginx 的权限</strong></p>\n<p>这两天把服务器从 Ubuntu 换成 CentOS，没想到就立刻踩到了奇怪的坑。首先 nginx 安装完成之后服务器 IP 能够正常访问，并显示 nginx 的默认页面；但是当我把配置文件的 root 路径更改之后，访问就变成了 403 Forbidden。此时就算修改路径文件夹的读写权限也不行。\n最终的解决方案是修改 <code class=\"language-text\">/etc/nginx/nginx.conf</code> 里 <code class=\"language-text\">user</code> 的权限值为 <code class=\"language-text\">root</code>。</p>\n</li>\n<li>\n<p><strong>修改 SSH 的默认端口之后如何使用 git</strong></p>\n<p>git 默认使用 22 端口进行操作，当服务器的该端口被禁用时，我们需要修改一些参数让它继续正常工作，比较简单的解决办法是把远程仓库的 url 手动加上 <code class=\"language-text\">ssh://</code> 改为：<code class=\"language-text\">ssh://username@domain.com:port/path/to/folder.git</code>。</p>\n</li>\n<li>\n<p><strong>删除全部文件时 zsh 的用户确认</strong></p>\n<p>自从几星期之前叛变到 zsh 之后，我就爱上了这个配置快捷简单的漂亮 shell（没错，就是看脸）。但还是踩上了一个“好坑”。\nzsh 非常适合新手用户，不仅拥有是强大的自动补全、高亮等功能，它在你删除所有文件时 <code class=\"language-text\">rm -rf *</code>，都会再一次进行确认，防止误删。可就是这个功能让我纠结了好一会儿。\nshell 脚本里面因为包含 <code class=\"language-text\">rm -rf *</code> 而无法执行成功。其实还是自己手贱把脚本里原先的 <code class=\"language-text\">#!/bin/bash</code> 改成 <code class=\"language-text\">#!/bin/zsh</code> 所导致，改回去就 OK 了。</p>\n</li>\n</ul>\n<h2>2015-02-05</h2>\n<ul>\n<li>\n<p><strong>使用显卡专有驱动之后无法进入桌面</strong></p>\n<p>昨天重装电脑，本想使用 nvidia-331 专有驱动来切换显卡以解决机器发烫的问题，但是却无法登出，重启之后也无法登录。搜寻之后发现是 Gnome 使用了 gdm 作为登录管理器的原因。\n解决方法是使用 lightdm 取代之：<code class=\"language-text\">sudo apt-get install lightdm</code>，安装的时候注意选择，重启之后就能登录了。<del>但界面没有 Unity 优化得好看。</del>\n此外，因为 Ubuntu Unity 默认使用 lightdm 作为登录管理器，所以以前使用的时候没有遇到这个坑。</p>\n</li>\n</ul>\n<h2>2015-03-05</h2>\n<ul>\n<li>\n<p><strong>gulp 监控文件数量限制</strong></p>\n<p>在用 gulp 启动项目的时候，发现只有 watch 的 task 无法被正常启动，这是 Linux 的限制所导致。因为是装的 Arch Linux，所以可能在这方面没有像 Ubuntu 一样有自动优化（瞎猜的，不深究）。\n解决方法见链接，直接调成最大值即可（grunt 同理）：<a href=\"http://stackoverflow.com/questions/16748737/grunt-watch-error-waiting-fatal-error-watch-enospc\">Grunt watch error - Waiting…Fatal error: watch ENOSPC</a></p>\n</li>\n</ul>\n<h2>2015-03-12</h2>\n<ul>\n<li>\n<p><strong>Chrome 标签页切换以及输入卡顿</strong></p>\n<p>用 Ubuntu 的时候 Chrome 好好的，换了 Arch 就出现各种问题，就一个感觉，特别卡：打字卡、标签页切换卡、总之就是卡。\n昨天偶然看到一片文章，才发现了问题所在，原来最终的根源并不是我，原来界面字体需要是非本地化的无衬线字体，详见：<a href=\"http://suselinks.us/how-to-fix-slow-typing-in-chrome-addressbar-in-linux/\">http://suselinks.us/how-to-fix-slow-typing-in-chrome-addressbar-in-linux/</a> 。修改之后再次运行如飞。\n随着版本的更新，这个 bug 最终将会被修复，权当学习之旅上的点滴记录了。</p>\n</li>\n</ul>\n<h2>2015-04-11</h2>\n<ul>\n<li>\n<p><strong>文本和终端字体太细</strong></p>\n<p>安装了很多不同的发行版和桌面环境，除了 Unity 以外，其他所有的文本和终端字体都很细，改字体之类的也没有用。然后发现是渲染问题，其他的需要安装额外的软件包 <code class=\"language-text\">Infinality</code>，字体瞬间变清晰好看！</p>\n</li>\n</ul>\n<h2>2017-01-18</h2>\n<ul>\n<li>\n<p><strong>zsh 启动时间太长</strong></p>\n<p>自从 2015 年 5 月份开始用 macOS 之后，基本不怎么折腾东西。只是最近实在无法忍受慢成狗一样的 shell。\n其实对于我来说，有两样东西限制了 zsh 的启动速度：1. 大部分 zsh 用户都会安装的 <code class=\"language-text\">oh-my-zsh</code>；2. 大部分 node 用户都会使用的版本管理工具 <code class=\"language-text\">nvm</code>。禁用之后一切安好。\n好了，其实这次是来安利另一个 shell => fish 的，自带各种补全和主题，确实如介绍所说是 user friendly，而且秒开！</p>\n</li>\n</ul>","frontmatter":{"title":"记录 Linux 中踩到的一些坑","date":"2015 年 02 月 01 日","description":"本文不定时更新，首次发表于 2015 年 2 月 1 日，最后编辑于 2017 年 1 月 18 日。"}}},"pageContext":{"slug":"/problems-encountered-in-linux/","previous":null,"next":{"fields":{"slug":"/new-start/"},"frontmatter":{"title":"新工作，新开始"}}}}}