Slackware Linux 经典的部分之一,就是其启动脚本(有空写下注释)。看见 老外的篇文章 ,让我重新审视了其启动的详细过程。
使用 Slackware 那么久,尝试着给它做点贡献。于是就有了这张启动图,可能还有很多遗漏或者错误的地方,欢迎随时指正。
最后, 大图下载在这里 。
Linux 内核将所有的设备都抽象成文件管理。这在 Linux 开发中非常有用,比如读取和写入端口只需要文件操作就可以了。
基本上,Linux 系统下的文件类型可以划分成 普通文件、目录(是的,目录也是文件)、字符设备文件、块设备文件、符号链接文件等。具体的文件类型信息,可以 参考这里 。
很多兄弟都会发现,在根目录(「/」)下都有个名为 proc 的目录。而实际的硬盘上,却并没有此目录内容。这是因为 Linux 内核在初始化系统以后,对系统各信息生成的映射。
比如,/proc/cpuinfo 文件记录了本机的 CPU 信息。放心的 cat 一下吧,它可以认为是个文本文件。这样,无论调用哪种程序语言(当然,Javascript 可不行),只要访问这个文件的内容就可得知 CPU 信息。
类似的,比如
通过 proc 目录,还可以得知内核是否支持某项功能。比如在 proc 目录下有没 apm (「/proc/apm」)文件,即可得知内核是否支持高级电源管理等等。
最后,有关 proc 更多的内容,可以 参看这里 。
一直都有边听音乐边 coding 的习惯。在 Linux 下,我一直使用 MPD 播放器 。
这个非常有趣的播放器,有别于同类其他的软件,它将播放功能分成「服务端」以及「客户端」。
这样做的好处,就是非常的灵活 -- 使用者可以调用多种「客户端」,「服务端」只是呆呆的负责播放和给「客户端」提供信息即可。
安装方面,这里可以参考其官方文档。喜好折腾的朋友相信对此 case,应该非常容易的应对。
下面,主要就本人配置 MPD 的经验分享下。
倾向于可以随时听音乐,并且本身 MPD 的「服务端」,在未工作的状态下,占用的系统资源并不高,于是干脆就将其启动系统就载入。
强烈建议不要用 root 运行此「服务端」程序。比如我就专门为它建立了个名为 mpd 的用户,专门运行此服务。
这里 是本人写的针对 Slackware 的启动脚本,如果你也是使用 Slackware,将它拷贝到 /etc/rc.d 下面,然后将其设置为 755 ,然后在 /erc/rc.d/rc.M 中,加入
if [ -x /etc/rc.d/rc.mpd ]; then
. /etc/rc.d/rc.mpd start
fi
即可(其他的发行版,就不复述)。
然后,本人使用 mpc 「客户端」,运行
mpc play
试试看是否能正常播放。如有问题,请检查音乐目录及其它配置路径,是否已经正确设定,并且 mpd 数据库已经正常初始化。
如果能够正常使用,那么接下来就可以配置常用的软件去调用 MPD 了。
比如在 Vim 下,就可以绑定热键随时切歌
map mn :!mpc next<cr>
map mc :!mpc stop<cr>
map mp :!mpc play<cr>
在上述的例子中,在 Vim Normal 模式下,按相应的按键既可以「下首」「停止」和「播放」。
在 Fvwm 中(如果你也是使用 Fvwm 的话),就可以使用下面的快捷键
Key P A CM exec mpc play
Key S A CM exec mpc stop
Key N A CM exec mpc next
对 Fvwm 如有兴趣,请参阅其相关文档。
最后,如果要显示 MPD 当前播放曲目信息,建议使用 Conky 这个程序。同时,它也是个强大的系统监视程序。
如果 Conky 下显示 MPD 信息乱码,则是 ID3 的编码问题。在 /etc/mpd.conf 下配置下相应的选项,比如我的是这个样子
filesystem_charset "utf-8"
id3v1_encoding "gbk"
附,我的 Conky 配置文件 。
另,如果不想那么麻烦,可以试试看 Mp3Blaster ,它是个控制台播放器。
嗨!我叫「明城」,八零后、码农、宁波佬,现居杭州。除了这里,同时也欢迎您关注我的 GitHub、 Twitter、 Instagram 等。
这个 Blog 原先的名字叫 Gracecode.com 、现在叫 「無標題文檔」 。 要知道作为码农取名是件很难的事情,所以不想在取名这事情上太费心思。
作为八零后,自认为还仅存点点可能不怎么被理解的幽默感,以及对平淡生活的追求和向往。 为了避免不必要的麻烦,声明本站所输出的内容以及观点仅代表个人,不代表自己所服务公司或组织的任何立场。
如果您想联系我,可以发我邮件 `echo bWluZ2NoZW5nQG91dGxvb2suY29tCg== | base64 -d`。