开始使用Slackware

December 29, 2016
Slackware

前两天,我在整理我的硬盘,顺便整理了一下我的openSUSE Leap里面的资料,同样也是十分的混乱。花了很长时间整理,全部移动到移动硬盘里。过程中发现openSUSE Leap的官方源连不上了,正常情况下官方源应该会选择国内速度最快的镜像的,然而有的时候就是蜜汁连不上……去年我也遇到过这种情况,然后我就放弃这个发行版了(后来又回来了……)。这次我决定替换掉openSUSE Leap 42.2,理由:

  1. 官方源有的时候连不上;
  2. 早上开机,一直使用到晚上,有的时候即使使用Xfce4也会变得卡;
  3. Plasma 5的BUG太多,出问题的次数太多;
  4. 跨版本升级的时候有点麻烦;
  5. 其实忍它很久了。

好吧,其实都是借口,我只是想试一试Slackware了。看了一下官方的文档,地址在这里:Document,这个文档挺不错的。粗略看完了。安装过程原来挺简单的,我还以为有多复杂。其中有一点挺人性化:安装过程中会提示你要不要制作一个启动盘,这样在系统出现问题无法启动的时候,利用启动盘就可以直接启动系统,然后我就制作了一个。没想到,很快我就用上了。Slackware使用的是LILO,而不是GRUB,Slackware不是那么激进,开发过程比较慢也比较保守,这一点我还是比较喜欢的,不用经常更新。是这样的:安装完之后,我发现LILO的第一个启动项是Windows而不是Slackware,我想把第一个换成Linux。然后在LILO的高级设置里面只选择了Windows,然后保存重启,发现启动项里只有Windows了……原来高级设置里的启动项目需要自己一个一个添加。没法进Slackware了,所以之前的启动盘就有用了,顺利进入Slackware,重新设置LILO,顺利解决。

桌面环境我选择的KDE,安装完毕之后,干净清爽,KDE 4竟然非常流畅,完全不想Plasma 5在我的老电脑上面会经常卡顿。KDE 4一点也不卡,这点让我还是有点惊喜的。然后是中文一系列的配置:

  1. KeepassX
  2. fcitx中文双拼输入法
  3. zsh, fish修改默认shell,oh-my-zsh, fisherman
  4. Terminator安装了,不过我现在还是用的默认的Konsole,干净好用,分割其实我也用到少,不如Tab方便
  5. Shadowsocks的GUI版本我遇到点问题,但是命令行版本能用
  6. Dropbox同步Emacs配置,个人文档
  7. Jetbrains全家桶,顺利安装
  8. Android Studio,顺利安装

哦,值得一提的是,系统默认提供了clisp。哈哈。这两天使用的过程中,我还是非常满意的。这么好的发行版,不知道为什么用户那么少。可能是因为安装软件比较麻烦?没有好用的软件包管理器?这个对于我来说不是什么问题。反而是好事,我可不想用zypper install, pacman -S或者apt install安装一堆我可能永远用不到的软件。有的软件需要自己编译,自己解决依赖,有的可以找到二进制包,总的来说还是挺方便的。比如,我要安装VLC这个播放器,过程是这样的:

{% highlight bash %} wget https://slackbuilds.org/slackbuilds/14.2/multimedia/vlc.tar.gz ~/Downloads tar -xvzf vlc.tar.gz {% endhighlight %}

  • 看一下vlc.info

{% highlight bash %} cd vlc cat ./vlc.info {% endhighlight %}

可以看到它有很多依赖,然后它的源代码的包在DOWNLOAD这个变量里面(一般情况下都是这个变量,只不过有的时候64位和32位是分开的,变量名字可能会不同,所以要注意一下。)

  • 下载源代码

{% highlight bash %} source ./vlc.info wget $DOWNLOAD {% endhighlight %}

  • 编译:

{% highlight bash %} sudo ./vlc.SlackBuild {% endhighlight %}

编译的过程中出错了:

{% highlight bash %} checking for libavutil variant… none checking for GST_APP… yes checking for GST_VIDEO… yes checking for AVCODEC… no configure: error: No package ‘libavcodec’ found No package ‘libavutil’ found. Pass –disable-avcodec to ignore this error. {% endhighlight %}

  • 而我又不想手动解决这些依赖,可能会很麻烦。所以我决定找别人编译好的包,在这里找:slackbuilds然后找到VLC,进入pkg64/14.2目录(我的是64位系统),下载txz包vlc-2.2.4-x86_64-1alien.txz:

{% highlight bash %} wget vlc-2.2.4-x86_64-1alien.txz ~/Download {% endhighlight %}

  • 然后直接安装就好了:

{% highlight bash %} sudo /sbin/installpkg ./vlc-2.2.4-x86_64-1alien.txz {% endhighlight %}

这样就安装完了。如果在第4步能够编译成功或者软件依赖比较少已经手动解决了依赖,那么它会在/tmp目录里面生成txz文件,然后直接安装.txz文件就好了。一些比较大的软件包我一般直接找别人编译好的,比如qt5,开始太天真,自己编译了几个小时,实在等不下去了,去IRC问了一句,才找到二进制包,顺利安装。另外,我习惯把下载的别人编译好的或者自己编译的包放到一个特定的目录里面,以后迁移系统的时候可能会用到。

VLC安装之后的效果:

The Piano Guys - A Thousand Years

其实过程还是挺简单的嘛。

至于播放器,其实KDE4的默认播放器KPlayer也挺不错的:

KPlayer

顺便安利两个KDE4的小工具:

  1. Pastebin,它是一个KDE4的插件,Slackware的KDE4默认自带。挺好用的,比如,写这篇博客的时候我要截图,放到这篇博客里,这样做:

不用像以前那样需要把截图放到博客的本地仓库里面了。这篇博客的所有图片都是按照这种方式加的图片,方便了很多。

  1. KDE Connect,它也是KDE4的插件,Slackware的KDE4默认自带,openSUSE Leap 42.2的Plasma 5不是默认自带KDE Connect的,不过安装也挺简单。我的手机也安装了KDE Connect,这样电脑可以接收到手机的通知,包括应用通知、短信通知、来电等等。手机可以给电脑发送文件,比如我下载的音乐、MV等等。我发现每次我开机之后KDE Connect和我的手机是自动配对的,这个还是挺方便的。

别的还有挺多。讲真,KDE 4的工具集齐全又好用。除了KMail……Linux里面邮件客户端(Thunderbird之类)对于163之类的好像支持都不怎么好?邮件客户端的socks5代理也没有搞明白怎么设置。目前看邮件我还是用浏览器吧……

总的来说,这两天Slackware用的还是比较愉快舒畅的。JetBrains家的IDE也能用的很舒服。这篇博客也在Slackware里面写的。希望这就是我使用的最后一个发行版不要再换了。。。


题外:

写这篇文章的时候,发现文章里面插入代码块的时候有点尴尬:

  1. 开始我在一个有序列表里面插入代码块,代码块和文字之间不能够有空行,不然有序列表的每个项目就都成了序号1。
  2. 部署到Github上面之后,发现数字和代码块混在一起了。
  3. 然后使用 highlight bash 这样的语法,如果仍然不换行的话,在本地运行是没有问题的。
  4. 部署到Github上面之后,就不是代码块了,变成了纯文本。
  5. 所以我只能在有序列表的文字和代码之间使用空行,然后只能使用无序列表。
  6. 其实我把问题弄复杂了,稍微搜索一下,就可以在StackOverflow里面找到解决方法。其实在有序列表里面,如果要插入代码,只需要把代码块缩进4个空格就好了。
  7. 本地测试是没有问题的。然而部署到Github上面之后就出现了问题。可能kramdown并不支持这个语法。测试了很久,最终没有弄好。。所以还是原来的无序列表吧。。折腾这个不值得。我以后再也不想折腾博客了。以内容为主,格式什么的凑合就好了。时间还是很宝贵的。

另外:

我发现我的在Slackware里面的Emacs使用一段时间之后就出问题:不能够激活fcitx。这个问题挺神奇,开始使用的过程中没有问题,使用一段时间之后才出现问题。这是个谜。以前好像也遇到过Emacs不能激活fcitx的问题,不过我忘了怎么解决的了。这个问题有时间在解决吧。所以我想在Kate里面编辑,打开之前编辑的文件是乱码,看了一下Emacs里面的编码是UTF-8-unix,只需要在Kate里面把编码设置成UTF-8就可以了。怎么在Emacs里面看文件的编码呢?在Emacs里面的状态栏里,有一个大写的U字母,把鼠标放上去,就会显示出当前的编码。如图:

Emacs查看文件编码

Emacs不能激活fcitx的这个问题弄了很久,我也没有找到解决方法。我的Emacs配置在别的发行版里面能够和fcitx一起使用,没有出现过问题。在Slackware里面是编译安装的fcitx,可能是fcitx的问题吧?重新安装fcitx之后没有解决。试用了一下scim输入法,完全不会用。后来去贴吧找到了一个帖子介绍安装Fcitx-rime,然后问题解决了。地址在这里:Slackware 14.2安装fcitx-rime。贴吧也是有大神的。

comments powered by Disqus