标签 macOS 下的文章

我去年有简单聊过为什么从网易云音乐切换到苹果音乐,并且跟各位简单分享了我的使用思路。但随着资料库内容逐渐复杂,我的思路进行了一些调整。今天就简单的跟你分享一下。

首先,随着版本的更新, 新的苹果音乐已经单独提供我喜爱的音乐播放列表了。因此之前通过智能播放列表实现的喜爱歌单就不再需要了,删除即可。

其次,由于现在有使用古典乐app,而古典乐与音乐的资料库是同步的,所以在古典乐中加入到资料库的作品同样可以在苹果音乐的资料库中看到并收听。但当我在驾驶途中想从资料库随机播放音乐时,古典乐混入其中就有一丝不和谐的感觉。因此增加一个智能播放列表,将所有不想在驾驶途中收听的音乐排除掉的一个大合集歌单。

在电脑端的苹果音乐中新建智能播放列表,条件如下:

  • 类型不包含classical与类型不包含spoken word:这两个条件相结合排除掉了所有的古典乐文件,同时spoken word条件可另外将所有专辑中的讲话片段进行了筛选——目前我发现的仅仅在维也纳新春音乐会专辑中有发现,可能有些现场版专辑也会呈现吧
  • 时长大于1分钟:这个条件将一些音乐片段进行过滤。以我的资料库来看,只有TV放送版专辑涉及此情况。
  • 注释不包含剔除:这是一个十分灵活的条件,可以将所有游离在前三个筛选条件以外的,自己不想在驾驶途中收听的音乐剔除。比如前述的TV放送版专辑中,存在两个正片BGM音轨。这两个音轨超过了1分钟时长但个人感觉不太适合在驾驶途中收听,因此便可以通过这个条件进行剔除。

那么如何将最后的这个条件实际应用起来呢?

在电脑版苹果音乐中,在资料库内找到需要剔除的音乐,右键——显示简介,弹出的窗口最下面有注释一行,在后面填入“剔除”两字,按下好完成编辑即可。

听起来是一个挺蠢的方法吧?但这只是给你分享一下我自己构造这个歌单的思路。通过类型及时长将大多数不希望出现在这个歌单的曲目筛掉,零星的没有共性的音频再通过注释进行补齐,真正实现起来要比手工整理大合集歌单简单、快速的多,可以试试。

最后,通过播放列表文件夹将播放列表进行归类。比如我这里增加了两个文件夹:每年都在听什么与年度精选。其中,每年都在听什么存储了我的按年整理的播放列表——注意啊,按年整理的播放列表也是智能播放列表,我不需要手工将新加入资料库的音乐添加进去,它会自动同步资料库的变更。而年度精选则保存了苹果音乐每年自动生成的音乐回忆。这样一来有两个优势,一来可以通过分类快速找到相应的播放列表进行播放。另一个更大的优势是可以将这些播放列表的音乐直接合并播放。举个例子:我这里有两年的音乐回忆,如果我不放在文件夹中,那么我每次只能在某一个音乐回忆列表中进行播放。想将两个列表合并播放的话,我只能在开始播放某一个列表之后,长按另一个选择最后播放将其加入到队列之中。而放入文件夹,显而易见的,在两个列表的界面便出现播放按钮了。

那么现在我的苹果音乐是一个什么使用效果呢?对于一般的流行乐,我遇到喜欢的歌曲之后只需选择添加到资料库,按年整理的智能播放列表与驾驶使用的智能播放列表会实时进行更新。对于我特别喜欢的乡村音乐,因为我为这种曲风单独建立了播放列表,而这个就像我之前提到的,音轨的分类不统一,只能使用普通的播放列表。那么对于这种涉及到手工编辑播放列表的场景,我只需增加音乐到这个播放列表,苹果音乐的设置项会将这个音乐添加到资料库,然后又回到了前面的智能播放列表筛选环节。如此,更新的自动化、一键式歌单整理就调整完成了。

还是那句话,以上只是给各位提供一个苹果音乐的使用思路,各位可以根据自己的实际使用场景对智能播放列表的条件进行调整,打造属于自己的一键式智能音乐播放器。

视频点此

不管是Windows还是Linux,又或者是macOS,都存在一个字符操作界面——终端,其中有很多直接输入便可使用的命令。那么这些命令都存在哪里了,又为什么可以直接调用呢?

这得益于一个所有操作系统都通用的一个概念:环境变量。终端下可以直接使用的命令都是由名为PATH的环境变量明确的。这个环境变量存储了很多路径信息,只要一个命令的可执行文件被放在了这些路径中,那么在终端中便可以直接通过输入这个可执行文件的文件名来实现直接使用,而无需通过输入绝对路径来调用。

如何知道哪些目录可以实现这一点呢?只需要查看PATH这个变量的值即可。

在Linux中,有很多方法可以实现查看环境变量信息。这里首先推荐一个比较好用的命令export。终端中直接输入即可查看当前用户下所有已经定义了的环境变量;使用export 变量名可以进行单独查看;使用export 变量名="变量值"则可以直接定义一个环境变量的内容。

对于PATH变量,一般来说会包括下面几个路径

  • /usr/bin
  • /usr/local/bin
  • /bin
  • /usr/games #这个是在使用Debian时候发现的。没想到竟然把游戏的可执行文件单独拿出来了…

那有没有办法自定义这个路径呢?

就像前面说的,直接定义即可。比如

export PATH=自定义的路径:$PATH 

这就是自定义PATH环境变量的基本写法。其中:

  • 使用冒号区分不同的路径
  • 路径写入的顺序区分了优先级。越靠前越优先检索使用
  • 一定在最前面或者最后面写上$PATH以保证原本的PATH信息不会被覆盖掉

自定义PATH是比较有用的。比如经常使用单独下载的程序,那么可以定义一个专门存放这些应用的路径,将其添加到PATH中。这样在终端下便可以直接输入程序启动命令来使用,而无需先进入到对应路径再执行,或者想方设法的将程序安装进系统了。而对于Windows,自定义路径可能不太常用,但如果有兴趣,你可以查一查安装python2.7的教程

视频点此

苹果家族的软件以封闭闻名,但macOS是一个例外——毕竟历史原因使得它除了图形界面以外都有规律可循。所以当使用Linux的思维去理解macOS的时候,就发现了一些到目前为止都没见过有谁提到过的有趣的细节。

我曾经在以前的内容中说过神奇的快捷方式——软链接。当时我就说过这玩意儿在Windows下用处不多,但Linux和macOS下用途很广。那时候我说这句话其实还是有些心虚的,因为我只用过Linux,对macOS的情况不是很了解,仅仅是为Linux和macOS的内核相似才得出的那个结论。但现在不一样了,我真正使用过macOS了,所以对于这个结论,我只能说:macOS同样很频繁的在使用软链接,可能比Linux更甚。

因为它为每个程序都软连接出来了一整套用户根目录,形成了一种沙盒机制。

我们可以简单领略一下:在home文件夹,打开资源库——你可能过需要按下cmd+shift+.来显示这个文件夹,或通过显示设置使它取消隐藏属性。

打开资源库,你会看到一个名字为Containers的文件夹。顾名思义,这里是用户程序的容器集合。打开它,你便能看到很多熟悉的面孔。

如果你有兴趣的话可以把每个文件夹都打开看看。这里我就直接跟你说结论吧:这里边一个文件夹就是macOS为一个程序准备的一个沙盒——或者说,一套用户home。为什么这么说呢?我们随意打开一个你就会看到。

是不是很熟悉?是的,这里边的文件夹结构与home是一模一样的,只不过这里多了Library、SystemData和tmp。

但是还是有些许不同的地方。注意到有几个文件夹左下角的小箭头了吗?错了,它不是普通的快捷方式,而是软链接。我们通过终端来看一下它们连接到的具体位置。

没有错,这些软连接都指向了我们的home。具体来解释一下:桌面、下载、视频、音乐、图片四个文件夹是与用户目录同步的,而文档、库、系统数据、临时文件每个程序都是单独占有的。这就使得在程序看来,自己是这个系统上唯一的程序,还可以在这个系统里边随意玩耍;而在macOS系统看来,每个程序就算玩出天来,也没能逃脱分配给它的这个乌托邦中。莫名的让我想到了缸中之脑理论…

那么如此设计的优势在哪儿呢?就我个人的感受,相对于另外两种系统来说,如此存储使得每个程序都有着相对隔离的系统环境,最大程度的避免依赖问题——任何系统都需要依赖,不只是Linux;而且所有文件都建立在了一个统一的位置,当卸载软件时直接删除这个文件夹便清理掉了由这个软件带来的所有文件——当然,音视频文档会保留,因为是软链接到了用户目录下。而与之相对的,就用户或者系统的视角来看,想去到一个程序的目录下路径就会变得异常复杂,以至于如果不耐下心来找的话会很难找到。

不过,既然找到了,就可以进行一些骚操作了。比如说微信电脑端、QQ电脑端的无限期云端同步功能。