标签 Archlinux 下的文章

这是b站一个小伙伴问到的。但是具体哪里出问题了我也不是很清楚,所以就写一下我的安装过程。简而言之,就是通过archlinuxcn源来完成

1、编辑/etc/pacman.conf,在末尾添加以下文本:

[archlinuxcn]
Include = /etc/pacman.d/mirrorlist-archlinuxcn

2、通过命令pacman -Syu更新软件仓库

3、通过命令pacman -S archlinuxcn-keyring安装cn源的密钥环

4、通过命令pacman -S vmware-workstation安装vmware即可。

效果图:

视频点此

先来假设一个场景。

众所周知,Steam的软件一定是保存在某一个文件夹下面的。假如说,我有一个分区专门保存我的游戏,那么我如何才能将Steam的游戏都直接放在分区下面而不是在Steam库文件夹下面呢?

在看过我今天这个神奇的快捷方式之后,你就知道要怎么做了。


要注意,今天这个功能,Win、Linux、Mac都是可以使用的。只是Win与另外两者的命令有些不同。而Linux对文件之类的快捷方式本身就会用到这种。所以为了对比,我这次在Win下进行演示。直接上演示让你感受一下。

一、文件

我事先已经安装好了{{7z这个压缩软件:C:\Program Files\7-Zip}},是可以正常使用的。现在,我把安装目录下的7z.dll剪切到{{桌面:C:\Users\gameb\Desktop}}。显然,由于缺少了7z.dll这个库,尝试运行时候会提示出错。

如果我们把7z.dll复制一份普通的快捷方式放到安装目录下面,它可以运行吗?很明显,快捷方式只是一个很弱鸡的快捷方式,并不能行使dll文件本身的职能,所以还是出错的。顺便请你记住这个快捷方式的大小:1KB.

现在,用管理员身份打开命令提示符,使用mklink "C:\Program Files\7-Zip\7z.dll" C:\Users\gameb\Desktop\7z.dll的形式来召唤那个更强大的快捷方式。

可以看到,它的大小占用为0K. 然而,虽然体积近似于没有,但当我们尝试运行7z的时候,你会惊奇的发现:它可以运行了!这个比弱鸡快捷方式的体积还小的快捷方式竟然可以履行dll本身的职能!

二、文件夹

现在,我们在把目光转移到文件夹上。我事先在桌面建立了一个名字叫temp的文件夹。现在我们创建一个普通的快捷方式,放到这个文件夹内,双击,资源管理器的路径会显示到哪里?

没有错,还是它本身的位置没有动。

但是,通过命令mklink /D C:\Users\gameb\Desktop\test\test C:\Users\gameb\Desktop\test,为它创建那个强大的快捷方式,放到它自身目录下面。如果我们双击这个,资源管理器的路径会如何变化?

正如你所见,它真的多了一层!不断的双击还会不断的加多!这个快捷方式真的行使了文件夹的职能了!

这个快捷方式,叫做符号连接

至于它太细节的东西我不打算多说了,因为说了也没啥用。只通过这个图来给你简要说明一下符号连接与快捷方式的不同之处就好了。

正如你所见,一个文件被存放的时候,它会对应一个名称保存在分区开始的内容表中。而快捷方式其实是一个类型为快捷方式的文件。当我们双击快捷方式的时候,其实是访问了快捷方式这个文件,然后它再给引导到它所对应的文件上面。本质上快捷方式和它所对应的文件是不一样的。

但符号连接就不同了,它其实是文件的另一个名字,所以我们双击符号连接和双击文件本身的效果是相同的。

形象一点来说。假如我是用户,你是文件,我直接访问文件就是我直接找的你;而快捷方式就是你公司的传达室大爷,我通过快捷方式访问文件,就是我去找这个老大爷,让他帮我传个话;那么符号连接,就好比是你的电话号码。我通过符号连接访问文件就是我用电话来联系你。虽然看起来多了一层,但我还是直接找到你的。

通过这个比喻,我们还可以顺带着说明另一个问题:你只有一个,而且位置确定。所以直接访问文件必须到存放文件的位置;传达室大爷可以有很多个,可以被放在公司不同的门口。所以快捷方式可以有很多个,也可以放在不同的位置;电话号码同样可以有很多个,我只需要找到任何一个电话号码就行了。所以符号连接也可以有很多个,存放在任何位置。

现在,你应该对符号连接有一个大概的认识了吧。对于应用来讲,符号连接和文件本身是同一个东西。所以借助这个,我们可以很轻易的实现我开头说到的问题——将Steam的游戏直接放在分区下面而不是在Steam库文件夹下面:只需要把游戏文件夹剪切到分区下面,然后在Steam库文件夹建立对应的符号连接就可以了。

最后,说一下Linux和OSX的命令如何书写吧——这个命令很常用所以我觉得你应该挺熟悉的:ln -s 需要创建连接的目标 创建的位置

如果你翻看过Linux系统的根目录,你会发现很多符号连接。所以这个在Linux下面的用处是很大的。当然,对于Windows也一样。只要你有足够的创造力。

视频点此

随意选择。


这可能是很多刚接触Linux的用户的一个疑问。全世界600+发行版,我到底该怎么选择我要用的发行版呢?

随着Linux各种支持的完善、稳定性和易用性的提升,现在各个发行版之间的差异性已经愈发的不明显了,因此开头所说的随意选择并不是玩笑。但发行版之间的差异确实依旧存在,加之每个发行版的用户数量、用户质量都不尽相同,所以我相信在每一名Linux用户的心中都有一份自己的Linux发行版排名。一个很明显的例子:如果你在Youtube上面搜索Linux相关的视频,你会看到很多标题为“Top x Best Linux Distros”之类的,给发行版做一个排名的视频。当其他人询问“我该装哪个发行版”这种问题的时候便会根据自己心目中的排名来推荐。因此为了最大化的公正,在这个视频里边,我分为两部分向你介绍怎么选择:第一部分,根据我心中的排名,完全主观的向你推荐;第二部分,向你介绍几种相对客观的选择方法。

是的,这礼拜的投稿没有什么技术性的干货。所以如果你是想看服务器的,下礼拜再来。你应该能看出来,我的服务器系列是半月刊的吧?好,那么现在就开始今天的茶话会。

我的Linux推荐

不要看发行版众多,但本质上来说,Linux出名的就那么几种:Debian系、RedHat系、Archlinux系、OpenSUSE系。其他的发行版基本都是从这几个Linux衍生出来的——当然,也有一些可以说是独自建立的发行版比如英特尔的Clear Linux这种。它们的唯一区别就在于包管理器的不同。所以一份自己的Llinux名单建立只有两个因素:基于什么的发行版、使用体验怎么样。

一般来讲,求推荐的都是刚接触Linux的用户,所以核心问题就是易用,有问题可以很快的找到解决方法。如果放在几年前,我一定会向你推荐烂大街的Ubuntu这个占有率遥遥领先的发行版。但现在,Deepin这个基于Debian的发行版可能会是我最先向你推荐的一个。这是一个国内推出的发行版,所以相对于多数发行版来说,其本地化体验会有相当的提升。一个最简单的例子:它的软件商店包含了很多国内常用的软件,QQ、微信、百度云这种在其他发行版之下可能得配置一番的软件,在Deepin下都不是问题。只需要在应用商店里边点一下安装按钮,便可自动配置完成使用。其社区的中文用户量也算是比较庞大的,这使得如果在使用中遇到一些问题,也可以很方便的寻求答案。

图片来源深度论坛

但正所谓金无足赤人无完人,Deepin同样有一些问题需要你关注。

软件版本较旧。这可以肯定是因为最近的大概导致的。你可以理解成为了稳定做出的牺牲。但偏偏现在的系统整体又不是很稳定。这在社区中的也是反馈比较多的问题。可能是最新版本进行了重大改变的原因造成的。

社区的中文用户虽然庞大,但平均质量不高。当然,因为确实存在较高质量的用户,所以你不必担心自己的问题无人解答。但可以肯定的是,中文社区有用的信息不及国际社区有用的信息多。一些中文用户总是会充当一些莫名其妙的云CEO、时事观察员这类角色,看起来仿佛很积极的在帮助深度发展,但无疑,这种顶多能表现出自己的爱国情怀,对深度的发展、社区的质量起不到什么作用。

总的来说,Deepin在日常办公方面完全足够,其不稳定也是体现在个别的硬件或者极限工况下。但如果你确实对不稳定和软件老旧有所顾忌,或者你并不是特别需要国内常用的软件,那么Deepin可能并不是最理想的发行版。这时候,你就可以考虑烂大街的Ubuntu了。

图片来源oschina

你可以把Ubuntu理解成Linux中的Windows:技术成熟、社区庞大,开箱即用。即使有一些软件在自带的软件商店找不到,同样可以去官方网站搜索。如果这个软件支持Linux,那么它一定会提供deb格式的安装包。但这个deb很大可能只能装在Ubuntu上而不能装在Ubuntu的父亲Debian上。因为Ubuntu虽然基于Debian,但它拥有自己的软件仓库,相对于Debian同样软件的版本要新。同时,Ubuntu拥有自己的显卡驱动方案,在英伟达和英特尔核显双显卡的笔记本上技术是比较成熟的。

要我说它的缺点,首先一点,就是Deepin移植的一些国内软件Ubuntu没有,即使有,其安装过程也比较麻烦。再者,Ubuntu经常会出现恼人的“发送错误报告”窗口。主要是由于国内发送会大概率失败导致每次登陆都会询问你是否发送。你可以手动删掉它,或者你也可以听它的意见尝试发送,保不齐就发送成功了。另外,因为Ubuntu不是滚动更新,如果不是用长期支持版本的话,每半年就会有新的版本推送。这个更新是较为危险的,很可能会更新失败而无法使用。所以如果你没有能力解决这个问题,那么你可以使用长期支持的版本,或者使用我下面推荐的这个——Manjaro

图片来源lulinux

Manjaro是基于Archlinux的发行版,最大的特点就在于完全图形化和自动化了ArchLinux的安装过程,并且拥有一系列图形化的驱动和内核配置软件,这使得用户既可以享受到ArchLinux分支的各种优势,又可以一键设置驱动,亦能根据不同的使用条件而部署不同类型的内核,还不必花费大量时间阅读ArchWiki来安装系统,并从全文本界面逐步配置起图形界面来。

刚刚我说到可以享受到ArchLinux分支的各种优势,那么它的优势在哪儿呢?

软件相比其他分支的发行版总是最新的。得益于Arch近乎简陋的包管理工具,没有版本范围限制的Arch系总是可以毫无顾忌的把软件包更新到最新。但最新同样可能出现一些意料之外的bug,所以Manjaro调慢了更新速度,一般是在Archlinux更新的两个礼拜后Manjaro才会跟进这个版本的更新,如果这过程中出现了问题,Manjaro还会暂停版本的跟进。所以,可以说Manjaro消除了Archlinux用户“滚挂”的顾虑。

另外一个优势,Archlinux特有的AUR软件仓库,使得几乎所有你能想到的软件都可以通过一条命令完成安装,而这条命令Manjaro还给图形化了。所以这相对于Ubuntu还需要去网上下载来讲简单了太多。

但我为什么只给它拍到了第三位呢?首先,我自己是Debian起家,最后不留神入了Arch邪教就出不来的用户。所以我还是偏爱Debian系发行版的;其次,装好的时候中文环境不佳,这对新手来说设置可能有些难度;最后,使用了wayland显示服务。虽然相对于xserver有很多改善,但由于现阶段软件兼容性的问题,所以我最终没有去选择它,而是选择了它的父亲ArchLinux。但我并不推荐新手选择Archlinux,它纯命令行的安装过程可能会让你没入门就放弃。

最后,如果有较多的游戏需求,pop!OS这个基于Ubuntu的发行版可能个不错的选择。相对于前边三个发行版,pop! OS开箱即配置好了游戏环境——我指的是Windows游戏。要知道,自己在Linux下配置一个完善的Windows游戏环境是很困难的。此时这个系统的优势便体现了出来:通过内置软件一键装好显卡驱动后便可直接运行。

图片来源linux公社


相对客观的发行版推荐

这就是我推荐作为刚入门的你的四个发行版。你可能会发现我没有推荐RedHat系的发行版以及openSUSE。主要是因为我很少接触这两个分支,仅仅在服务器上面使用CentOS这个RedHat分支的系统而已,其他的包括我的树莓派、我的笔记本 和台式机上面全都是Debian和Arch的发行版。这也是每个Linux用户心中对发行版的排名不一样的原因所在。所以,想要较为客观的选择发行版,可以尝试通过我现在要介绍的这两种方法决定一下。

第一种,查看distrowatch.com。这个网站聚合了几乎所有的类Unix发行版,并且根据点击量有一个排名列在这里。自然排名越高就说明热度越高,进而也能有一定的参考价值。但可以肯定的是,这里边肯定会有刷榜的情况出现,而且它也仅仅是展现了distrowatch用户的一个倾向,所以对你来说可能仅仅是一个参考作用,大概看看就好。想更有针对性的选择一款发行版,可以尝试Distro Chooser这个在线调查。它拥有中文页面,只需要根据自己的情况回答好16个问题,便可以给出一些适合你的发行版。相对来说可以得到一个比较客观的结果可以供你参考一下。如果你不喜欢听别人的主观意见,自己又不好决定,那么可以来这个网站来试一试。


其实,关于如何选择发行版这个问题可能仅仅对刚刚接触的人有参考价值。只要你真正试用过一段时间Linux了就应该能明白,在发行版上面纠结其实并没有什么太大的用处。得益于Linux的高度自定义性,你可以把任何一个发行版改造成你想要的样子,提前选择仅仅是为了省去改造的这个过程而已。但如果是初次接触,那么选择一个适合自己的发行版来使用,也许能体会到“一见钟情”的感觉吧。我是没法体会这感觉了,都用了十年Linux了,它再不好使的时候我都经历过,这进步的过程是自己经历的,必然也是感觉不到惊艳之处了。

KDE Plasma 桌面环境 5.16 Beta 版已发布。KDE Plasma 5.16 是重大更新的版本,在优化后台性能和改善诸多核心组件的同时还引入了诸多新功能,从而让 KDE Plasma 更稳定,使用体验更优秀更充满乐趣。

KDE Plasma 5.16 的更新亮点之一就是对通知系统进行了全面的改造。全新的通知系统支持“Do Not Disturb”勿扰模式,为文件传输提供了丰富的通知信息,更智能地分组历史通知,以及在全屏应用中显示通知,而且重新设计的、更实用的系统设置页面提供了大量自定义配置选项。

全新的通知系统

另一个值得关注的更新就是大幅改进登录、登出和锁屏主题体验,在 Wayland 上改善对 NVIDIA 专有图形驱动程序的支持,在 Plasma Discover 中改善对 APPImages 的支持和可靠性,并大幅改进网络插件。

此外,KDE Plasma 5.16 中大部分大多数设置页面都得到了视觉调整,在 Plasma Desktop 的插件、系统托盘、壁纸幻灯片设置、Dolphin 文件管理器、Plasma Vaults、Breeze 窗口和菜单阴影颜色等细节方面也进行了改善。

KDE Plasma 5.16 桌面环境的最终版本将于2019年6月11日推出。与之前的所有版本一样,它将采用新的默认壁纸,不过这次 KDE 项目团队通过举办壁纸比赛,每个人都可以参与提交他们的艺术作品,然后通过投票进行选择。获奖者可以获得一台内置 KDE 的 Slimbook One v2 电脑。

文章来源:OSCHINA社区

终于,所有工作都搬到我的Arch下面了,所以我把我的磁盘重新分了一遍区。这样一来分区更清晰,完全遵循了Linux 的文件管理习惯。但是因为我的电脑安装了三块硬盘,所以对一部分分区做了LVM,便于将多个磁盘统一成一个分区来使用。但这个过程中的坑还是有一些的。为了以后重装(如果需要的话)便捷,记录一下我的Arch配置过程。

一、我的分区结构

我的硬盘为128GSSD(sda)+1TSSD(sdb)+1THDD(sdc).分区方法如图所示

其中,两个lvm2 ps(物理卷)组合成了一个lvm卷组(类似windows跨区卷),名字叫linuxroot,在这个卷组上建立了一个ext4格式的逻辑卷,名字为rootfs。相当于这两个ps合起来的大小等于rootfs这个分区的大小(系统就安装在这个分区上)。

二、lvm的划分方法

我是通过KDE分区编辑器进行的,所以简单的记录一下即可。如果需要在安装过程中进行lvm相关的创建操作的话,需要另行搜索fdisk相关命令。这里只记录KDE分区编辑器的操作步骤。

2.1 创建物理卷

  1. 右键点击一块未分区的磁盘区域,选择新建
  2. 弹出的窗口中,“文件系统”选择lvm2 pv,确定
  3. 重复前两步,将想要组合到一起的区域都创建成lvm2 pv分区格式
  4. 应用更改,使操作生效

2.2 创建卷组

  1. 点击工具 - 新建卷组
  2. 设置好卷组名称,并在左侧勾选想要添加的物理卷,确定
  3. 重复前两步,按照自己的需要创建足够的卷组
  4. 应用更改,使操作生效

2.3 创建逻辑卷

进行过前两步后,主界面左侧的“设备”列表中应该已经出现卷组的选项了。点击对应的卷组切换,即可像操作磁盘一样,对卷组的空间进行划分,创建逻辑卷了。

与一般的分区不同的是,这里需要指定一个逻辑卷名称。

注意:这种逻辑卷的lable表示为 /dev/卷组名/逻辑卷名,或者是/dev/mapper/卷组名-逻辑卷名

三、lvm上安装Archlinux

按照Arckwiki的Installation guide进行到挂在分区之后(lvm分区挂载与一般分区挂载的命令相同,只是注意分区表示的形式即可),按下述步骤继续。

3.1 开启lvm支持

  1. 输入如下命令

    modprobe dm-mod
    vgscan
    vgchange -ay
  2. 编辑 /etc/mkinitcpio.conf ,在HOOKS一行添加 dm-mod、lvm2。即 HOOKS="dm-mod base udev ... block lvm2 filesystems"

之后返回Installation guide继续,直到安装了grub包后(安装grub进boot前),按下述步骤继续。

3.2 开启硬盘系统的lvm支持

  1. 编辑/etc/mkinitcpio.conf,在HOOKS一行添加lvm2。即HOOKS="base udev ... block lvm2 filesystems"
  2. 运行命令mkinitcpio -p linux

之后返回Installation guide继续,直到结束。

注:

  • 如果有异常,尝试向系统中添加lvm2这个包
  • 不推荐将efi分区放在lvm2卷组中(设置太麻烦),直接在硬盘上分出一部分比较好

四、软件包相关记录

4.1 图形界面

我永远追随KDE!

这一步安装的软件包是一些基础组件。如果想的话,在这里也可以只安装桌面环境,其他的都留到之后安装。

推荐在这一步安装以下软件包:

pulseaudio pulseaudio-alsa #声音相关
pulseaudio-bluetooth #蓝牙耳机
xf86-input-libinput #触摸板
plasma-meta #KDE桌面基础环境,更多组件可以在之后按需添加
fcitx kcm-fcitx#小企鹅输入法
sudo #sudo命令
latte-dock #KDE的dock栏插件

注意启动这几个服务:

systemctl enable sddm
systemctl enable bluetooth
systemctl enable NetworkManager
systemctl enable dhcpcd

注意:

  • sddm不可用root账户登陆,需要创建一个非root账户。通过命令useradd -m -g users -G wheel -s /bin/bash 用户名完成。
  • 设置用户的密码。包括root(如果之前没设置的话)
  • 需通过visudo命令,去掉%wheel ALL=(ALL)ALL一行的%,以让所有用户可以使用sudo命令。

4.2 配置软件源

添加archlinuxcn源,并打开32位库。

编辑/etc/pacman.conf,去掉[multilib]部分的注释,并在文件的结尾增加下面的文字:

[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

刷新软件仓库之后,通过pacman -S archlinuxcn-keyring增加cn源的钥匙环。

4.3 几个对我个人来说比较重要的组件

  • pacman -S yaourt,安装aur的辅助工具(需要archlinuxcn源的支持)
  • yaourt -S octopi,KDE下面的图形化包管理工具,4.4一节中一些模糊搜索安装用这个很快捷

4.4 额外功能的补全

4.4.1 全局菜单

安装以下几个包,即可实现几乎所有窗口的全局菜单化:

appmenu-gtk-module
octopi中,搜索 **dbusmenu** 得到的所有结果

4.4.2 Intel + NVIDIA双显卡

安装以下几个包:

nvidia #英伟达驱动
bbswitch #独立显卡电源控制
optimus-manager-qt-kde #能完整发挥独显性能的解决方案

4.4.3 zsh

通过pacman安装zsh,然后将此文件的内容覆盖到~/.zshrc中,完成配置。

注意:

  • 需要事先安装git命令
  • 通过chsh -s /bin/zsh来更改当前用户的默认终端

4.4.4 tlp

极致省电,电池电池工作时间赶超Windows. 根据我自己的笔记本优化,只适用于我自己

按照这篇文章安装tlp以及相关软件包并启动服务。之后将此文件中的内容覆盖到/etc/default/tlp中,保存即可

在tlp更新到1.3后,配置文件结构变更。上面的文件虽依旧可用,但位置应放在/etc,并文件名应变更为tlp.conf。最好的方法是对照上面的文件手动修改/etc/tlp.conf至一致。

4.4.5 DaVinci Resolve的依赖

可以通过aur安装DaVinci Resolve,但是依赖不全。需要手动添加下述依赖包:

cuda opencl-nvidia

最好将可选依赖都勾选上避免意外错误。同时调整Davinci Resolve的启动命令为通过独显启动。

4.5 一些常用的软件包

并没有全部记录下来。仅仅是将一些可能会忘掉的软件包名称记录在此。
软件包名用途
TIMdeepin.com.qq.officearchlinuxcn/aur-
微信wine-wechatarchlinuxcn/aur避免deepin-wine依赖的冲突,还能自由更新版本
DaVinci Resolvedavinci-resolve(free版本)davinci-resolve-studio(专业版本)aur,安装包需要自行下载并放到指定目录专业视频制作软件
Chromegoogle-chromearchlinuxcn/aur-
网易云netease-cloud-musicarchlinuxcn/aur-
WPSwps-officearchlinuxcn/aur-
typoratyporaaurMarkdown编辑器
Arctimearctimeaur字幕制作
motrixmotrixaur全能下载工具
gnome-settings-daemongnome-settings-daemonextraKDE下运行deepin-wine的一个关键组件
百度网盘baidunetdiskaur-

KDE下不能启动deepin wine一直是个挺难受的事情。就我个人来说,喜欢KDE的桌面风格,但又不想放弃deepin wine里边比较优质的程序。所以想到了一个比较骚的招数,也算是解决了吧。

主要思路:可能是deepin-wine在打包时无意间加入了gnome依赖。所以补齐依赖就可以了。

方法很简单,安装gnome-settings-daemon

之后,将/etc/xdg/autostart/org.gnome.SettingsDaemon.XSettings.desktop 复制到 ~/.config/autostart/

最后,去往设置—开机和关机—自动启动 中,将gnome的一项勾选启动即可。