win10+manjaro双系统

win10+manjaro双系统

定位

我没有纯manjaro的打算,adobe全家桶、office365、qq、微信、游戏等软件还得是win10,仅仅把manjaro作为开发+媒体娱乐+编辑性办公,已经够用了。linux大多数情况下开发体验都优于win10。
除了qq接收文件的体验一般,其他方面并不存在跨系统操作不同步的不适,win-lin资料共用,浏览器书签及时同步,已经能满足日用要求。
linux日用的最大的问题是:渣渣驱动太耗电了。使用时间比win节电模式短。
下面是准备步骤。

跨浏览器书签共享

warming

2021.03.25更新:linux的edge dev版本已经支持账户登陆同步了,需要在dege://flags开启。忽略以下内容全平台向edge靠拢即可。

linux下的edge目前是残疾状态,没有登陆功能,所以建议先chrome,但又不想放弃win下edge体验。
可使用floccus+坚果云同步方案:

楔子:如何在 Chrome、Firefox、Edge、Safari 之间进行跨平台书签同步? - 知乎 (zhihu.com)
具体步骤:不同浏览器书签同步方案:坚果云+Floccus_详细使用教程 - 奶爸建站笔记 (naibabiji.com)
视频演示:WebDAV+Floccus 利用浏览器扩展在Chrome和Firefox之间实现书签同步_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

注意:

只需要一个 floccus插件+坚果云注册账号,不需要坚果云客户端。
初始化坚果云书签保存文件的下载地址:bookmarks.xbel
edge浏览器根下有三个主文件夹:收藏夹栏、移动收藏夹、其它收藏夹。如果想在不同浏览器书签全同步,需要为这三个文件夹分别建立数据文件。
设置旁边的向上向下箭头分别是推送和拉取,同步功能取并集。
坚果云账户-书签文件-更多-历史版本-恢复:回滚历史书签。
如果没有移动收藏夹,可能需要手机端下载应用同步后才自动创建。

我的配置:

这个同步功能挺有意思的,我弄不清楚它的实现逻辑:
假如远程仓库增删了文件,本地点击同步,是将本地的数据推送到云,还是将云端更改拉取到本地呢?

  • 如果是仅仅从本地推送到云,那当A浏览器执行增删推送到云后,B浏览器又会将本地未修改数据推送到云,导致跨浏览器无法更新数据,云成了一个彻底的垃圾站;
  • 如果是仅仅从云端拉取到本地,那我只使用一个浏览器就永远无法删除书签了。

所以当我们点击同步按钮的时候,后台做了什么?

Win10准备

本留了一块1t空机械盘安装新系统,已删除所有分区。后打算留400G做资料共享,余下的装系统。

  1. 进入win10。新建分区400G(/dev/sda1),初始化为exfat(或者ntfs等双方支持的文件系统,manjaro开箱支持ntfs文件驱动ntfs-3g),作为win-linxu文件共享区。

  2. 备份资料至此分区,win常用的图片,视频,代码项目等等。

  3. 备份待安装软件配置到此分区,浏览器扩展,扩展导出配置,vscode插件(C:\Users\用户\.vscode\extensions),picgo,typora主题等。

  4. 备份win10字体(C:\Windows\Fonts),majaro默认的字体渲染真难看。

  5. 查看主板架构,Win8及更高版本系统:按Win+R - msinfo32:如果BIOS:传统,表示系统启动方式为Legacy BIOS;如果为UEFI,则显示UEFI。->

    以下采用UEFI/GPT。

  6. manjaro官网下载镜像,Rufus制作U盘启动,最新版rufus无法选择GPT,github发布页下载旧版3.0

  7. rufus制作manjaro启动器,只能以dd模式写入;openSUSE可选ISO模式。

  8. 关机esc+f10进bios,禁用安全启动(Secure Boot)。opensuse可免去这步->

  9. 开机优先项选择 u盘 > 系统管理员配置…,从U盘启动。

  10. 安装manjaro。安装过程见下一节。

  11. 安装结束后将以上两步bios设置(安全启动,U盘启动)还原。

补充说明一下,直接移动vscode插件会无法使用,应该是环境和路径问题,手动安装吧。

系统安装与删除

若想以后和平删除linux,不建议将lin的efi和win的efi装到一个分区,否则格式化lin的磁盘后win将缺失引导

引导

UEFI/GPT 模式下使用 rEFInd 引导 Win10 & Linux 双系统的方案 - 简书 (jianshu.com)
不讲武德的年轻人,竟想通过Windows引导多系统???_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
坑爹的Secure Boot设置 - 简书 (jianshu.com)
硬件大讲堂:MBR和GPT分区表的那些事儿_DIY攒机-中关村在线 (zol.com.cn)

如图,新建fat32挂载lin的efi,以后可随时格盘,在数个系统安装间反复横跳。

我先使用kde桌面,相比于openSUSE,manjaro的kde打磨得并不如意,因此回到了gnome3,gnome的设置项反人类,而且应用开启反应迟钝,又用回kde。因为是新系统,直接重装系统比更换桌面环境更加便捷。

能反复横跳建立在lin的引导独立于win这一前提,否则对lin格盘后win会炸掉,需要非常麻烦地修复BCD引导。

另外,新机若想先安装lin再安装win:不建议,因为win的BCD引导会覆盖lin的grub2,最后还是要修复lin的引导。修复grub2引导:

恢复 UEFI 模式的 GRUB2 启动项 | 水景一页 (cnzhx.net)

将lin的引导写入win的引导分区有何好处呢?可以通过第三方设置(easyBCD-Neogrub),直接从win的manage boot跳转到grub2引导lin。理论见:不讲武德的年轻人,竟想通过Windows引导多系统???_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

两种方式(UEFI)的区别:

1
2
3
grub2 -- linux
-- manage boot -- windows
-- wePE
1
2
3
-- manage boot -- windwos
-- wePE
-- Neogrub -- grub2 -- linux

分区分别挂载efi,采用第一种方式。

安装步骤

插入U盘启动,根据系统硬件选择驱动,我Intel+NVIDIA选择闭源驱动,free选项是开源。进入live点击安装,manjaro将为你默认使用ubuntu的prime驱动方案,另可选大黄蜂方案和N卡独显,详情见安装后。
kde桌面可选择office套件,选择第一项不需要office,后续自行安装wps;gnome则默认装好。
我用kde。忘记拍照了。文字说明下分区:

Windows + Ubuntu 16.04 双系统安装详细教程_flyyufenfei的博客-CSDN博客_ubuntu系统
手把手教你Windows Linux双系统的安装与卸载 - 知乎 (zhihu.com)
安装Ubuntu Linux系统时硬盘分区最合理的方法_博客堂-CSDN博客_ubuntu分区的评论区
Windows+Manjaro双系统安装_xiaoyaotan_77的博客-CSDN博客_manjaro双系统

  1. 首先选择硬盘,机械盘sda,固态nvme,千万不要选择win所在的盘。

  2. 分区有三个选项:【1】并存安装【2】取代一个分区【3】抹除磁盘【4】手动分区,盗一张图:

    并存安装:lin的引导装到win的引导分区下
    取代一个分区:格式化掉一个分区安装
    抹除磁盘:格式化所有分区安装
    手动分区:在手动分区安装

  3. 手动分区。
    新建分区-2048Mib-fat32-类型efi-标记/boot/efi-完成
    新建分区-剩余-ext4-类型/-标记/root

  4. 概览(见上图)-安装

关于分区我只分了/和引导。相当于在win下单走一个C。如果是服务器,为了数据安全必须细化分区,个人桌面系统则不需要。开启timeshift定时快照即可。
/swap不需要,如果内存太小可以分出一个,公认建议两倍大小于内存。内存8G、16G的机器就没有必要分了。吃鸡都爆不了你的内存还交换个锤子。
/home随意,我从win下吸取的教学,不分区。希望在linux下不会打脸。
/boot包含引导,启动项和内核,我留了2G,主流建议是1G,如想多存几个内核可以留大点。对了,抹除磁盘安装默认留了300Mib。

虽然游戏软件和日用软件所需的性能完全不在一个维度,但总体来说,这是一个硬件性能过剩的时代。储存磁盘什么的,请大方点用吧,哪怕用坏了换新的也不贵。

Pacman & yay

pacman命令详解 - 简书 (jianshu.com)
Pacman常用命令 - 简书 (jianshu.com)
Manjaro Linux 踩坑调教记录 - PRIN BLOG (printempw.github.io)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
pacman -U string.pkg.tar.gz # 从本地文件安装
pacman -U http://www.example.com/repo/example.pkg.tar.xz # 安装一个远程包(不在pacman的源里)

pacman -Su # 直接升级系统
pacman -Syu # 升级整个系统,y 是更新数据库,yy 是强制更新,u 是升级软件
pacman -Syyu # 同步仓库,强制升级
pacman -Sc # 清理当前未被安装的软件包缓存,位于/var/cache/pacman/pkg
pacman -Scc # 完全清理包缓存
pacman -Qdt # 列出所有不再作为依赖的软件包(孤立orphans)
pacman -S $(pacman -Qq | grep -v “$(pacman -Qmq)”) # 重新安装系统所有软件包

pacman -S package # 安装软件
pacman -S extra/package # 安装不同仓库中的版本
pacman -Ss string # 查找软件
pacman -Si package # 显示软件的详细信息

pacman -Rsn package # 删除软件,及其伴随依赖,及其配置文件
pacman -R package # 删除单个软件,保留其全部已经安装的依赖关系
pacman -Rs package # 删除指定软件,及其没有被其他已安装软件使用的依赖关系
pacman -Rd package # 删除包时不检查依赖
pacman -Rsc package # 删除包的同时,删除所有依赖这个软件包的程序
pacman -Rn package # 删除软件包时要同时删除相应的配置文件
pacman -Sw package # 只下载包,不安装

pacman -Ql package # 获取已安装软件所包含的文件列表 | grep string
pacman -Qs string # 查询已安装的软件包
pacman -Qi package # 查询本地安装包的详细信息
pacman -Qo /path/file # 查询某个文件对应的软件包
pactree package # 显示软件的依赖树
LANG=C pacman -Qi | sed -n ‘/^Name[^:]*: (.*)/{s//1 /;x};/^Installed[^:]*: (.*)/{s//1/;H;x;s/n//;p}’ | sort -nk2 # 获取本地软件包和它们大小的一个已排序清单列表

IgnorePkg = package # 跳过升级软件包
IgnoreGroup = group # 跳过升级软件包组

# yay同上
yay package # 从 AUR 搜索选择安装软件包
yay -S package # 从 AUR 安装软件包
yay -Rns package # 删除包
yay -Syu # 升级所有已安装的包
yay -c # 卸载所有无用的依赖,类似apt autoremove
yay -Ps # 打印系统统计信息

加速AUR软件包构建(可选)

默认情况下 makepkg 构建 AUR 包时会启用压缩,构建完了安装又要再解压一次,如果只是自己机器上使用的话没必要(大软件包压缩很慢)。
设置构建包时不进行压缩:

1
sudo sed -i "s/PKGEXT='.pkg.tar.xz'/PKGEXT='.pkg.tar'/g" /etc/makepkg.conf

配置

如果pacman里安装失败就用yay安装,我有些包源记混了。

开机

win10环境下安装manjaro kde(双系统) - Jaywhenxiang - 博客园 (cnblogs.com)
manjaro踩坑记 - swolf的博客 (mrswolf.github.io)

开机后有一个引导页面,提供了开箱软件安装选择。我只需要VLC和timeshift。(以后卸载火狐似乎系统滚动的时候会帮你装回来,否则需要额外进行配置;此时卸载则避免滚回预装软件的情况)

删除文件

alias rm="rm -iv"

更改镜像源

sudo pacman-mirrors -c China -m rank

弹窗,时间表示同步周期。

中文社区源

1
2
3
4
5
6
7
sudo nano /etc/pacman.conf
# >>
[archlinuxcn]
SigLevel = Optional TrustedOnly
Server = http://mirrors.163.com/archlinux-cn/$arch
# Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch # 清华源
# ^x y

添加archlinuxcn后需要安装钥匙环
sudo pacman -Sy archlinuxcn-keyring
开启 pacman 和 yay 的彩色输出
sudo sed -i "s/#Color/Color/g" /etc/pacman.conf

系统更新

sudo pacman -Syu

pip换源

1
2
3
4
5
6
mkdir -p ~/.config/pip
nano ~/.config/pip/pip.conf
# >>
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
# ^x y

开机自动挂载分区

https://wiki.archlinux.org/index.php/fstab

对于其它磁盘,文件管理器点击进入磁盘后系统会将其挂载到/run/media/[your_user_name]/[disk_name]文件下;我需要开机自动挂载到固定挂载点,从而给图片、Code、音乐、等文件夹建立快捷方式。

1
2
3
4
5
6
7
sudo mkdir -p /mnt/Share  # 建立挂载点文件夹
sudo mount | grep sda # 查看分区号,我的是sda1
sudo nano /etc/fstab
# 将分区/sda1挂载到新建的文件夹/mnt/Share
# >>
/dev/sda1 /mnt/Share exfat rw,users 0 0
# ^S ^X

挂载成功后,分区根目录下有两个固定文件,$RECYCLE.BINSystem Volume Information,win默认为每个分区建立回收站文件夹并隐藏,win的隐藏方式和lin不一致,不建议在lin下修改这两个文件。如想彻底删掉这两个文件,win下回收站-高级,去除此卷的回收站功能,删除文件将不会将其移到回收站,而是直接删除。不建议。

AUR包管理

sudo pacman -S yay base-devel
yay是aur仓库包管理工具,base-devel是打包工具。
没有打包工具可能导致后续从aur仓库源码打包软件安装时出现以下错误:

科学上网

yay -S v2ray qv2ray

qv2ray介绍:下载 Qv2ray | Qv2ray

qv2ray启动失败,双系统时间同步:
timedatectl set-local-rtc true或者图形界面:打开本地时区的硬件时钟
timedatectl set-local-rtc false还原

改内核

我要长期支持版。

输入法

采用fcitx5 + rime

Manjaro-KDE安装配置全攻略 - 知乎 (zhihu.com)
rime输入方案linux · fkxxyz/rime-cloverpinyin Wiki (github.com)
中文维基词库配置fcitx(5)+rime的畅快体验 - 知乎 (zhihu.com)
主题美化hosxy/Fcitx5-Material-Color: 一款使用Material Design 配色的 fcitx5 皮肤
nord主题ayamir/fcitx5-nord: Fcitx5 theme based on Nord color. (github.com)
Gruvbox主题ayamir/fcitx5-gruvbox: Fcitx5 Gruvbox Skin (github.com)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 安装fcitx5输入法框架,全选
yay -S fcitx5-im
# 配置fcitx5的环境变量
sudo nano ~/.pam_environment
# >>
GTK_IM_MODULE DEFAULT=fcitx
QT_IM_MODULE DEFAULT=fcitx
XMODIFIERS DEFAULT=\@im=fcitx
SDL_IM_MODULE DEFAULT=fcitx
# ^x y
# 安装fcitx5-rime输入法引擎
yay -S fcitx5-rime
# 安装rime-cloverpinyin输入方案
yay -S rime-cloverpinyin
sudo mkdir -p ~/.local/share/fcitx5/rime
nano ~/.local/share/fcitx5/rime/default.custom.yaml
# >>
patch:
"menu/page_size": 5
schema_list:
- schema: clover
# ^x y
# 安装中文维基百科词库
yay -S fcitx5-pinyin-zhwiki-rime
# 配置主题
yay -S fcitx5-material-color

重启。改下配置,win下激活ctrl+shift,lin下激活ctrl+space。

浏览器
yay -S google-chrome

显卡

manjaro 安装 Nvidia 显卡驱动, Intel + Nvidia 双显卡解决方案。(已解决) - V2EX

intel+nvidia默认使用ubuntu的prime驱动方案,如想手动更改驱动,看上面。

卸载不需要的软件

善用sudo pacman -Qs string , sudo pacman -Rns package 自己看着办。

PPPOE拨号

rp-pppoe

楔子,Manjaro安装与初始化 - 知乎 (zhihu.com)
ppp原理,arch wiki - ppp
对各发行版的讲解,在 Linux 上拨号上网 (PPPoE)
大致步骤,arch linux 配置pppoe,实现ADSL拨号上网
硬核拨号,pppoe拨号上网安装Arch Linux

如果是校园网,一般有专门的拨号软件,多数不会适配linux,需要手动拨号。比如我校的拨号软件为netkeeper,无linux版。win10可以无需软件直接网络连接拨号,建议先用win10尝试,成功后确认账号密码无误再去linux。

  1. 电信宽带,短信发送460到中国电信10001,查看宽带帐号和密码。

  2. kde查看网络连接,或者ipconfig。

  3. DNS:202.101.224.69;网卡设备eno1。

  4. 命令行快速拨号软件
    yay -S rp-pppoe

关于:manjaro下的rp-pppoe

进入配置选项:pppoe-setup
开始连接:pppoe-start
断开连接:pppoe-stop
查看状态:pppoe-status

关闭网卡:ifconfig 网卡 down
开启网卡:ifconfig 网卡 up

一次完整的拨号过程:

1
2
3
4
5
6
7
8
9
10
sudo pppoe-setup 
USER NAME:宽带帐号
INTERFACE:网卡号
demand:no(默认)
DNS:上面查看的DNS地址
PASSWORD:宽带密码
FIREWALLING:0(NONE)
adjust configuration files ? y
sudo pppoe-start
connected!

最后保存配置文件时,每次setup将重写配置文件,上一份配置文件拷贝到-bak,以下是文件位置:

1
2
3
4
5
6
7
Accept these settings and adjust configuration files (y/n)? y
Adjusting /etc/ppp/pppoe.conf
Adjusting /etc/resolv.conf
(But first backing it up to /etc/resolv.conf-bak)
Adjusting /etc/ppp/pap-secrets and /etc/ppp/chap-secrets
(But first backing it up to /etc/ppp/pap-secrets-bak)
(But first backing it up to /etc/ppp/chap-secrets-bak)

使用rp-pppoe拨号连接成功,但是上不了网,tmd,怪起来了。网上相关帖子少,自己又太菜,找找其它的办法。

openkeeper

查了一下netkeeper for linux,又看到一篇帖子,重庆那边电信也是用netkeeper作为校园客户端,有大佬写了一个拨号程序openkeeper作为netkeeper的替代品。

重邮等高校在linux下使用openkeeper代替netkeeper连接网络
项目地址:Eventide/openkeeper-cli

项目不提供现成包,其它linux发行系的安装需要make install,aur查了一下,arch系已经有人打包好了。

yay openkeeper ,只有一个包,直接安装。感谢这位打包侠。

该软件十分简洁,man了一下openkeeper-cli,没有手册页条目哈哈。软件命令详情看readme。

Install

1
2
3
4
5
$ git clone https://github.com/Eventide/openkeeper-cli.git
$ cd openkeeper-cli
$ ./configure --prefix=/usr/local
$ make
$ sudo make install

Use

1
2
3
sudo ok-config # 配置连接
sudo ok # 连接
sudo ok-stop # 断开连接

字体

Fonts (简体中文) - ArchWiki (archlinux.org)

默认字体方案

开源字体

1
2
3
4
5
6
# 文泉驿
sudo pacman -S wqy-microhei wqy-bitmapfont wqy-zenhei wqy-microhei-lite
# 爱逗比
sudo pacman -S adobe-source-han-sans-cn-fonts adobe-source-han-serif-cn-fonts
# 西文
sudo pacman -S ttf-dejavu noto-fonts noto-fonts-extra noto-fonts-emoji noto-fonts-cjk monaco

开源Nerd字体

这里选择jb家的字体:

Releases · ryanoasis/nerd-fonts (github.com) –下载-> JetBrainsMono.zip

解压下载完的字体压缩包,假设目录名是JetBrainsMono

1
2
3
mkdir -p ~/.local/share/fonts
cp -vr JetBrainsMono/ ~/.local/share/fonts
fc-cache -vf

konsole把字体改成JetBrainsMono Nerd Font

win10字体

archlinux使用Windows字体及相关配置_ixum-CSDN博客

windows字体(C:\Windows\Fonts)拷贝到linux(winfonts_path/)

1
2
3
4
5
6
7
8
9
# 存放路径
sudo mkdir -p /usr/share/fonts/winfonts/
sudo cp winfonts_path/* /usr/share/fonts/winfonts/
cd /usr/share/fonts/winfonts/
rm *.fon
# 更新缓存
sudo mkfontscale
sudo mkfontdir
fc-cache -fv

我的字体方案

KDE

KDE Store
pling.com

dock栏

sudo pacman -S latte-dock

kde部件

Translator

翻译部件。小部件获取,商店在线

Netspeed Widget

网速部件。小部件获取,商店在线。

Thermal Monitor

温度部件。小部件获取,商店在线。

Application title

全局菜单的活动应用。小部件获取,商店在线。

Materia Dark KDE

下拉终端Yakuake主题美化。Yakuake主题获取,商店在线。

bl1nk konsole color schemed

终端颜色主题。终端配置,获取更多,商店在线。

平铺kde

演示:Grid-Tiling KWin - YouTube
安装:平铺KDE - openSUSE使用记录 (bwsl.wang)

半自动部署:

  1. 从项目地址下载项目并解压。设解压的路径为path
  2. 安装kpackagetool5 --type KWin/Script -i path
  3. mkdir -p ~/.local/share/kservices5
  4. cp path/metadata.desktop/ ~/.local/share/kservices5/kwin-script-grid-tiling.desktop
  5. 安装完成,前往KDE设置—窗口管理—KWin脚本中激活Grid-Tiling即可。

kde主题

KDE美化—Manjaro KDE - SegmentFault 思否
cathaysia/awesome_kde_theme: 一系列美观的kde主题 (github.com)

WhiteSur全局主题

vinceliuice/WhiteSur-kde: MacOS big sur theme for kde plasma (github.com)

kde设置里下载主题不走qv2ray设置的全局代理,像图标这类的大文件不要从设置里下载。建议从github下载按照说明步骤安装

McMojave cursors鼠标

vinceliuice/McMojave-cursors: McMojave cursors for linux desktops (github.com)

图标:原生

细节

Manjaro Linux 踩坑调教记录 - PRIN BLOG (printempw.github.io)

home英文

将用户目录下的中文文件夹修改为英文

1
2
3
4
sudo pacman -S xdg-user-dirs-gtk
export LANG=en_US
xdg-user-dirs-gtk-update
export LANG=zh_CN.UTF-8

窗口提示语言更改,更新名称即可
重启电脑,如果提示语言更改,保留旧的名称即可

笔记本合盖行为

外接显示器时合盖也不挂起(睡眠):

1
2
3
4
sudo vim /etc/systemd/logind.conf
HandleLidSwitch=suspend
HandleLidSwitchExternalPower=suspend
HandleLidSwitchDocked=ignore

鼠标滚轮速度

IMWheel - ArchWiki (archlinux.org)
Manjaro Linux 踩坑调教记录 - PRIN BLOG (printempw.github.io)

软件

timeshift

系统自带。设置后开机触发快照。保留设置存档数量,溢出存档数量删除旧快照。

wps
yay -S wps-office wps-office-mui-zh-cn ttf-wps-fonts 中文选择cn
若使用fcitx5的话,需要修改/usr/bin/wps/usr/bin/wpp,将下面这行代码加到文件开头

1
2
3
4
5
6
sudo nano /usr/bin/wps
export QT_IM_MODULE="fcitx5"
^x y
sudo nano /usr/bin/wpp
export QT_IM_MODULE="fcitx5"
^x y

flameshot
yay -S flameshot

typora
yay -S typora

picgo
yay picgo 可选GUI的picgo和核心picgo-core

proxychains
命令行程序代理(对 Go 编写的程序无效

rofl0r/proxychains-ng: proxychains ng (new generation) - a preloader which hooks calls to sockets in dynamically linked programs and redirects it through one or more socks/http proxies. continuation of the unmaintained proxychains project.

motrix
yay -S motrix 下种子

lx-music

yay lx-music

1
2
3
4
5
6
7
8
9
$ yay lx-music   
3 aur/lx-music 1.7.1-2 (+0 0.00) (已安装)
一个基于 electron 的音乐软件
2 aur/lx-music-desktop-appimage 1.7.1-1 (+0 0.00) (孤立)
A music assistant based on Electron + Vue.
1 aur/lx-music-desktop-bin 1.7.1-1 (+2 0.78)
A music software based on Electron + Vue. 一个基于 Electron + Vue 开发的音乐软件。
==> 要安装的包 (示例: 1 2 3, 1-3 或 ^4)
==> 3

终端

折腾之 Manjaro 安装使用指北 - yqsas的博客 | Yqsas Blog
Manjaro-KDE安装配置全攻略 - 知乎 (zhihu.com)

命令行必备

sudo pacman -S vim tree

装逼

sudo pacman -S lolcat neofetch

命令速记

tldr(Too Long Don’t Read)
yay -S tldr 或者 pip install --user tldr

ranger

sudo pacman -S ranger

快捷键:linux终端文件管理器ranger使用详解 (mikewootc.com)

zsh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
chsh -s /usr/bin/zsh  
# 修改默认shell为zsh
# (可选)为github相关域名添加DNS解析
sudo nano /etc/hosts
>>
# GitHub Start
151.101.64.133 raw.githubusercontent.com
# GitHub End
^x y
source /etc/hosts
# (可选) curl 使用代理
curl -x "127.0.0.1:7890"
# 安装ohmyzsh
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
# zsh-completions插件
git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-completions
# zsh-syntax-highlighting插件
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# autosuggestions插件
git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# (可选,命令预览,拖慢zsh速度)incr插件
git clone git://github.com/makeitjoe/incr.zsh $ZSH_CUSTOM/plugins/incr
# 启用插件
nano ~/.zshrc
# plugins=(git) ->
plugins=(git zsh-syntax-highlighting zsh-autosuggestions zsh-completions docker docker-compose sudo extract)
# 主题 https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
theme=ys
source ~/.zshrc
autoload -U compinit && compinit

终端-常规-命令-/bin/zsh

插件说明:
sudo是ohmyzsh自带的插件,功能是在你输入的命令的开头添加sudo ,双击Esc
extract也是自带插件,不用记不同文件的解压命令,extract +你要解压的文件名

终端文件图标

演示:GNOME 3.26 | 终端显示文件类型图标_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
项目地址:athityakumar/colorls at v1.4.3 (github.com)

终端高级编辑器

VimPlus:chxuan/vimplus: An automatic configuration program for vim (github.com)
或者
Emacs:hlissner/doom-emacs: An Emacs framework for the stubborn martian hacker (github.com)

开发

java

1
2
sudo pacman -S jdk-openjdk
source /etc/profile

yay -S visual-studio-code-bin vscode
yay -S postman-bin postman
yay -S jetbrains-toolbox jb全家桶
yay -S wechat-devtools 微信开发者工具

miniconda

manjaro踩坑记 - swolf的博客 (mrswolf.github.io)

miniconda管理环境并安装python相关package。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
sh Miniconda3-latest-Linux-x86_64.sh

# 编辑 ~/.bash_profile,在最后添加如下环境变量(注意PATH要在前面)
export PATH="$PATH:$HOME/miniconda3/bin"

# 编辑完成后
source .bash_profile

# miniconda的pypi换源

# 进入base环境或新建的python环境
source activate
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

docker

Arch Linux 2020-07 安装kde桌面环境 - 简书 (jianshu.com)

1
2
3
4
sudo pacman -S docker  //并尽可能安装可选依赖
sudo gpasswd -a $(whoami) docker //不用sudo即可运行docker
sudo systemctl restart docker //重启docker
sudo echo "{"registry-mirrors": ["http://hub-mirror.c.163.com"]}" >> /etc/docker/daemon.json //写入网易镜像源

博客

安装

nodejs

manjaro踩坑记 - swolf的博客 (mrswolf.github.io)

nodejs - hexo

1
2
3
4
5
6
7
8
9
10
11
# 安装nvm版本管理(直接安装nodejs会有权限错误)
yay -S nvm
source /usr/share/nvm/init-nvm.sh
nvm install node

# 安装npm和hexo
sudo pacman -S npm
npm install hexo-cli -g
npm install hexo-deployer-git --save
npm config set registry https://registry.npm.taobao.org # 淘宝源,下载大多数软件可加速
npm config set registry https://registry.npmjs.org/ # 改回官方源,小部分软件还是得靠官方源

复制博客文件到linux下,配置git。

1
2
3
4
5
6
7
git config --global user.name "user_name"
git config --global user.email "user_email"
git config user.name # 查看回显
git config user.email
ssh-keygen -t rsa -C "user_email"
cat ~/.ssh/id_rsa.pub
# copy cat回显

github - Setting - SSH and GPG keys - new SSH key - name/cat回显 - 确定

1
2
3
4
ssh -T git@github.com
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Hi mednight4! You've successfully authenticated, but GitHub does not provide shell access.
sudo hexo d -g

注意一下git的分支问题:使用hexo,如果换了电脑怎么保留配置和更新博客

在此另补充一个git错误:
OpenSSL SSL_read: Connection was reset, errno 10054:服务器的SSL证书没有经过第三方机构的签署。
关闭权限认证即可。
git config --global http.sslVerify "false"

权限问题

文档 | Hexo

后续补充

两个系统nodejs版本跨度太大可能会导致博客环境炸掉,而linux滚完的nodejs一般都是最新的…尽量在统一的环境下generate-deploy吧。

可选配置

软件

软件集整合推荐

Manjaro Linux 安装与使用 – 标点符 (biaodianfu.com)
折腾之 Manjaro 安装使用指北 - yqsas的博客 | Yqsas Blog
Manjaro 安装体验小结 (juejin.cn)
Arch Linux (Manjaro) 配置与常用软件安装指南 | KAAAsS’s blog
archlinux/manjaro常用软件推荐_weixin_30687587的博客-CSDN博客
KDE美化之路 - 知乎 (zhihu.com)

deepin全家桶

喜欢dde桌面可入。

Manjaro Linux 安装与使用 – 标点符 (biaodianfu.com)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
sudo pacman -S deepin-movie 
sudo pacman -S deepin-music
sudo pacman -S deepin-calculator
sudo pacman -S deepin-file-manager
sudo pacman -S deepin-calendar
sudo pacman -S deepin-draw
sudo pacman -S deepin-image-viewer
sudo pacman -S deepin-picker
sudo pacman -S deepin-screen-recorder
sudo pacman -S deepin-screenshot
sudo pacman -S deepin-system-monitor
sudo pacman -S deepin-voice-recorder
sudo pacman -S deepin-editor
yay -S deepin-wine-tim
yay -S deepin-wine-wechat
yay -S deepin.com.thunderspeed
yay -S deepin-wine-qq
yay -S electron-wechat

QQ(建议)

哪个有用试哪个

以下是第三个:
修复 TIM 字体发虚
yay -S lib32-freetype2-infinality-ultimate
Wine HiDPI 屏缩放
env WINEPREFIX="$HOME/.deepinwine/Deepin-TIM" deepin-wine winecfg

deepin-wine-tim安装(兼容性问题,不建议)

我试装了yay默认提供的tim,出现了兼容性问题,某些字体显示口口口。按需安装吧。

安装过程看:deepin-wine-tim-arch: 在Archlinux及衍生发行版上运行TIM

Tim字体发虚

摘录自:Manjaro-KDE安装配置全攻略 - 知乎 (zhihu.com)

切换deepin-wine环境

1
2
sh /opt/deepinwine/apps/Deepin-Tim/run.sh -d
env WINEPREFIX="$HOME/.deepinwine/Deepin-TIM" /usr/bin/deepin-wine winecfg

在弹出的窗口中选择windows xp,将DPI调大(默认是96),调成120

deepin-wine-wechat微信字体发虚

同上,把tim改为wechat

1
2
/opt/apps/com.qq.weixin.deepin/files/run.sh -d
env WINEPREFIX="$HOME/.deepinwine/Deepin-WeChat" /usr/bin/deepin-wine winecfg

VMware

Linux笔记:Manjaro 基本操作及命令(更新中) - pollora的个人空间 - OSCHINA - 中文开源技术交流社区

OneDrive

abraunegg/onedrive: OneDrive Client for Linux (github.com)

其他软件

yay -S netease-cloud-music 网易云音乐
yay -S yesplaymusic 网易云第三方

qier222/YesPlayMusic: 高颜值的第三方网易云播放器

yay -S iease-music 网易云第三方

ieaseMusic: 网易云第三方播放器

yay -S qqmusic-bin qq音乐
yay -S baidunetdisk 度盘客户端
yay -S baidupcs-go 度盘CLI
yay -S nutstore 坚果云
yay -S notion-app notion
yay -S xdman xdm

XDM Home (subhra74.github.io)

yay -S calibre calibre电子书
yay -S gimp gimp,photoshop的替代品
yay -S krita krita,绘画软件,photoshop的替代品
yay -S xmind-zen 思维导图
yay -S foxit 福昕阅读器

命令增强

Rust Everything On GNU/Linux - 知乎 (zhihu.com)
视频演示:Rust Programs Every Linux User Should Know About - YouTube
Manjaro Linux 踩坑调教记录 - PRIN BLOG (printempw.github.io)

ls -> exa

更丰富的输出信息和用法

ogham/exa: A modern replacement for ‘ls’. (github.com)

grep -> ripgrep

更快的文本搜索工具

BurntSushi/ripgrep: ripgrep recursively searches directories for a regex pattern while respecting your gitignore (github.com)

fzf

模糊搜索

junegunn/fzf: A command-line fuzzy finder (github.com)

find/mlocate -> fd

更快的文件搜索工具

sharkdp/fd: A simple, fast and user-friendly alternative to ‘find’ (github.com)

cat -> bat

带语法高亮的cat

sharkdp/bat: A cat(1) clone with wings. (github.com)

autojump

cd增强补全

wting/autojump: A cd command that learns - easily navigate directories from the command line (github.com)

thefuck

错误命令输入提示

nvbn/thefuck: Magnificent app which corrects your previous console command. (github.com)

ps -> procs

输出信息、用法更丰富的ps

dalance/procs: A modern replacement for ps written in Rust (github.com)

tokei

统计不同类型文件信息

XAMPPRocky/tokei: Count your code, quickly. (github.com)

alacritty

拥有GPU加速的跨平台vim风格用法的终端模拟器

alacritty/alacritty: A cross-platform, OpenGL terminal emulator. (github.com)

kitty

加速终端模拟器

kovidgoyal/kitty: Cross-platform, fast, feature-rich, GPU based terminal (github.com)

starship

精简、快速、可定制的Shell(bash/zsh/fish)命令提示符

starship/README.md at master · starship/starship (github.com)

pdfgrep -> ripgrep-all

扩展的ripgrep,支持pdf等的搜索

phiresky/ripgrep-all: rga: ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc. (github.com)

grub美化

GRUB Themes - Gnome-look.org (gnome-look.org)

挑选按照github官方说明安装。

后续问题

grub添加win10引导

2021-03-8:滚动更新了grub(似乎警告了一句配置文件迁移),生成了新的grub默认配置文件,没有自动添加win10引导,导致grub选择页面缺失windows manage boot,无法直接点击进win10了。好在两个系统的引导还在,只是互相没有关联了,麻烦点可以从bios更改引导顺序进入不同的系统。

为了方便还是手动把manage boot添加到grub。

grub语法

在开机后grub页有个C按键可进入Command,grub有自己的一套命令。目前要用到的基本是:

1
2
3
4
5
6
7
insmod part_gpt      # 磁盘格式是gpt
insmod fat # 分区格式fat
ls # 列出(hd0,gpt0)、(hd0)等等
set root=(hd1,gpt1) # 选择此磁盘为启动根目录
ls / # 此时可以查看此磁盘下的文件,efi分区下都有efi文件夹,可以ls (hdX,X)/一圈,选到微软的efi分区为止
chainloader /EFI/Microsoft/Boot/bootmgfw.efi # 加载此引导文件,路径固定
boot # go

在grub如此一番操作可以手动选择引导进入win10,然后我们把这波操作写到开机配置文件。
进入系统后,grub配置文件地址

1
2
3
4
# 启动配置
/boot/grub/grub.cfg # 30_os-prober
# 功能配置
/etc/grub.d/30_os-prober ## 这个可以不管它

进入配置文件,并添加配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
sudo fdisk -l # 查看磁盘 我win10的efi是/dev/nvme0n1p1
sudo grub-probe -t fs_uuid -d /dev/nvme0n1p1 # 查看该磁盘的uuid
sudo vim /boot/grub/grub.cfg
# BEGIN /etc/grub.d/30_os-prober
menuentry 'Microsoft Windows 10' {
insmod part_gpt
insmod fat
insmod chain
set root='(hd1,gpt1)' ## 这里一定要选对,选不对就看参考文章用变量代替
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
# END /etc/grub.d/30_os-prober
shutdown now

配置文件被配烂了可以重新生成。不过在此之前,其实grub可以自动检测到win10然后把它添加到引导菜单:

注:后经验证,grub-mkconfig无法扫描到win10,是由于少安装了os-prober:

1
2
3
4
5
6
7
8
sudo pacman -S os-prober
# 生成文件
sudo grub-mkconfig -o /boot/grub/grub.cfg
# 或者 更新文件
sudo update-grub
# 或者 linux重装引导
sudo grub-install /dev/XXX # XXX=你的引导设备
## 重装引导时不要没装完就退出了,引导文件丢了很麻烦

参考

GRUB (简体中文) - ArchWiki (archlinux.org)|

1
2
3
4
5
# 链式加载 UEFI 模式下安装的 Windows/Linux
insmod fat # 文件系统
set root=(hd1,gpt1) # 选择磁盘
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi # win10的引导地址,路径是固定的
boot # go

为双系统grub添加Windows10引导启动项_Scar~let的博客-CSDN博客_grub2引导win10
grub命令行启动系统简明教程_Linux_脚本之家 (jb51.net)


3.10补充

manjaro已经卸了。
之后一段时间不会都动新系统了,太折腾。滚动发行版注定是要当主力机用的,但是目前环境下还是win适合办事。manjaro滚更了一个引导就折腾了小半天。
当下老老实实学好C#,整懂汇编,做完高数才是正道。
等我考完研再慢慢折腾吧。