最终效果
安装解码器和微软字体
sudo apt install ubuntu-restricted-addons ubuntu-restricted-extras -y
扩展
安装
sudo apt install -y chrome-gnome-shell gnome-shell-ubuntu-extensions gnome-tweaks
扩展推荐
- 系统扩展:即通过特权用户管理的扩展,该扩展是全用户可用的。
- 用户扩展:即普通用户存放在用户目录下的扩展,该扩展是该用户可用的。
一般情况下,如果是个人计算机的,我不建议安装系统扩展,因为不方便管理,对系统扩展进行管理需要通过root账户,但是我们使用桌面版的Linux,不建议直接使用 Root。安装的软件都是从第三方下载的,Linux上也没有对软件的来源进行校验,Linux 对于某些软件提供了 sandbox(沙盒) 运行环境,如果使用Root用户去运行一个沙盒,会有很严重的安全风险。
用户扩展
用户扩展的安装和下载都可以在 GNOME扩展官网 找到。但是首先,我们需要为我们的浏览器安装一个插件,以便我们能够直接通过浏览器管理我们主机上的插件。下面所有的扩展,均可在 GNOME 官方扩展站点上下载安装
在您的浏览器上搜索并安装 GNOME Shell Integration。
接下来我将向你描述我正在使用的扩展,我将向你描述它的名称、功能以及冲突问题:
- Blur my Shell:将主界面模糊化。它会和接下来的shell theme起冲突,会覆盖掉主题的样式。
- User Themes: 这是一个重要的扩展,如果你想使用个性化主题,那么你必须安装这个扩展。
- Alphabetical App Grid: 按照字母顺序排序概述中的程序和目录。
- Auto Move Windows:这个插件主要用于在多屏幕的场景下使用,因为有一些程序会自动将界面加载到 s0(screen 0,在显示服务器中的序号,如果是笔记本一般为笔记本 built-in 屏幕) 上,即便你配置了 primary 屏幕也是无济于事。所以该软件的作用就是将软件移动到指定的屏幕上。但是需要注意的是,如果您的软件有弹出页面的功能,那么会出现问题。
- System Monitor by fmuellner:在顶部栏中监视系统。
- 分屏:对于分屏我有两个推荐的,主要看个人喜好。
- Tiling Assistant:基于GNOME桌面原生分屏,添加了动态边框缩放的功能。
- Tiling Shell (by domferr):适配GNOME的Windows11分屏风格。
- Workspace Indicator:这个是我之前喜欢用的,那个时候还没有买 MS3,需要手动切换Worspace,也没有找到一个合适的快捷键去替换(默认为 Control+Alt+X方向键),所以在 top bar 上面点感觉还方便一点。后面换了新鼠标就更方便了,也就不再需要这个插件了。
上面有些插件在命令行中去安装可能会有不同的名称,还是上面中的建议,不建议直接安装系统插件,基于用户的美化就基于用户操作就行了,不要做多于的事情。
推荐
主题推荐
icon theme(图标主题)
创建
~/.themes
目录,将icon目录丢入其中
Shell Theme(主界面主题)
这里Shell意为操作Kernel的外壳,GNOME 就是一个带有GUI的Shell。这么理解就行了。
这里推荐的是Orchis gtk theme
该主题是可以自定义的,无论是颜色、样式、紧凑还是边框半径,都是可以自定义的。如果你不想自定义你也完全可以使用GNOME里面的默认样式。下面是一个自定义用例:
git clone https://github.com/vinceliuice/Orchis-theme.git && cd Orchis-theme
./install.sh -t default -c dark --round 16 --tweaks solid black macos
光标主题
光标主题推荐的是
字体
编程字体
编程字体,意味着能够在写代码时提供辅助效果的字体样式,普通的字体样式,在中英文混合的情况下会出现参差不齐的情况,无法辨别相似字体例如O、0、o、l、I、1,连字符无法准确分辨等。
这种编程字体,学名称为 等宽可变字体。相应的字体也并不是只有一个,我将向你推荐几种编程字体,并告知您我最终的选择:
- JetBrains Mono:在 JetBrains 产品中默认使用的字体,如果你喜欢了这种风格,那么你可以无脑选择。
- Source Code Pro:由Adobe打造的等宽字体样式,但是需要注意的是,不支持中文!!!
- Fira Code:等宽、支持中文、连字,Fira Code被推荐的原因最主要的是它提供了专用的字形来渲染进度条。
- Monaspace Github:该字体是由Github产出的一个专为编程而生的字体,等宽、连字,不支持中文,目前VSCode仍然对这款字体的连字效果支持不好。
- Maple Mono:该字体是我比较喜欢的一个字体,等宽、连字以及’独立宣言’式的连笔效果深受我的喜爱,VSCode对它的支持还是很不错的。
以上字体,在VSCode中使用不支持中文,其实可以和显示字体一起使用,在 VsCode 的
Font Family
选项中配置编程字体, 中文字体
,这样,当编程字体中没有中文样式时,会匹配先后匹配中文样式的字体。
显示字体
因为我们主要的应用范围还是国内,所以避免不了接触中文,所以我们依然需要使用中文字体:
之所以推荐思源系列的字体,首先是因为它对中文的支持确实很好,其次也是因为它的名字 “思源” 源于 “饮水思源”。
我的字体配置
VSCode: Maple Mono, 思源宋体
Interface Text: 思源黑体
Document Text:思源黑体
Monospace Text:Fira Code
常用软件安装
Fsearch
Fsearch 是一个 Linux 上 Everything 软件的平替版。但是软件本身没有提供快捷打开方式,不过我们可以通过设置快捷键来达到EveryThing的效果。
sudo add-apt-repository ppa:christian-boxdoerfer/fsearch-stable
sudo apt update
sudo apt install fsearch
CopyQ
CopyQ 是一个剪切板工具,可以设置快捷键 Ctrl+;
去打开它的粘贴板,还可以通过 vi
操作键去进行上下移动,搜索,选择,支持正则表达式。它能够保存你通过 Ctrl+C
复制的所有内容,文本、多媒体等。
sudo install copyq
Plank
它不能够替代Ubuntu原生的 Dock 导航栏,但是我们可以将 Dock 导航栏在桌面关闭,只在 Overview 中展示。
Logiops
Logi 官方没有对Linux操作系统做专门的适配,导致我们买的鼠标在Linux桌面发行版的系统上的作用不大,于是有大佬执行开发了一个驱动,用以驱动 Logi 的鼠标,定义按键功能等,正因为是开源的,所以支持了很多Logi官方都没有的鼠标操作,例如,按住+右移等。
我的鼠标是 Logi Master 3s
,下面是我的/etc/logid.cfg
配置文件内容:
devices: ({
name: "MX Master 3S";
smartshift: {
on: true;
threshold: 30;
};
hiresscroll: {
hires: false;
invert: true;
target: false;
};
dpi: 800; // max=4000
buttons: (
// Forward button
{
cid: 0x56;
action = {
type: "Gestures";
gestures: (
{
direction: "None";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_LEFTALT", "KEY_F4" ];
}
},
{
direction: "Up";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_LEFTMETA", "KEY_UP" ];
}
},
{
direction: "Down";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_LEFTMETA", "KEY_DOWN" ];
}
},
{
direction: "Right";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_LEFTMETA", "KEY_RIGHT" ];
}
},
{
direction: "Left";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_LEFTMETA", "KEY_LEFT" ];
}
}
);
};
},
// Back button
{
cid: 0x53;
action = {
type: "Gestures";
gestures: (
{
direction: "None";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_BACK" ];
}
}
);
};
},
// Gesture button (hold and move)
{
cid: 0xc3;
action = {
type: "Gestures";
gestures: (
{
direction: "None";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_LEFTMETA" ]; // open activities overview
}
},
{
direction: "Right";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_LEFTMETA", "KEY_LEFTALT", "KEY_RIGHT" ]; // snap window to right
}
},
{
direction: "Left";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_LEFTMETA", "KEY_LEFTALT", "KEY_LEFT" ];
}
},
{
direction: "Up";
mode: "onRelease";
action = {
type: "Keypress";
keys: [ "KEY_LEFTMETA", "KEY_UP" ]; // maximize window
}
},
{
direction: "Down";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_LEFTMETA", "KEY_DOWN" ]; // minimize window
}
}
);
};
},
// Top button
{
cid: 0xc4;
action = {
type: "Gestures";
gestures: (
{
direction: "None";
mode: "OnRelease";
action = {
type: "ToggleSmartShift";
}
},
{
direction: "Up";
mode: "OnRelease";
action = {
type: "ChangeDPI";
inc: 1000,
}
},
{
direction: "Down";
mode: "OnRelease";
action = {
type: "ChangeDPI";
inc: -1000,
}
}
);
};
}
);
});
GRUB 主题
GRUB(GRand Unified Bootloader,统一的引导器),它是计算机启动时运行的第一个软件,它读取操作系统的引导分区,并展现一个引导界面提示用户去选择需要进行引导的操作系统。我们也可以使用同一操作系统,不同的启动配置来引导,并将其作为GRUB配置文件的一部分,比较常见的是许多发行版Linux系统都支持的恢复模式、单用户模式、安全模式等,需要向操作系统引导程序传递参数进而启动的模式。
当我们电脑中有多个操作系统时,GRUB界面就显得攸关重要,因为它是就像是“前台”接待员一样。原始的GRUB界面如下:
在开始配置主题之前,你需要安装GRUB定制器,以简化对GRUB的管理。
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt install grub-customizer
你可以前往GNOME的主题商店选择您喜欢的主题,下载后启动命令行运行 install.sh
脚本即可,需要添加sudo
权限。
下面是我选择的主题:
Fallout
配置中文输入法
推荐使用 fcitx5
,你可以查看我的另外一篇文章。