导航

ubuntu 24.04 美化

发布时间:5 months ago 更新时间:3 months ago
Linux

最终效果

alt text

安装解码器和微软字体

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:在顶部栏中监视系统。
  • 分屏:对于分屏我有两个推荐的,主要看个人喜好。
    1. Tiling Assistant:基于GNOME桌面原生分屏,添加了动态边框缩放的功能。
    2. Tiling Shell (by domferr):适配GNOME的Windows11分屏风格。
  • Workspace Indicator:这个是我之前喜欢用的,那个时候还没有买 MS3,需要手动切换Worspace,也没有找到一个合适的快捷键去替换(默认为 Control+Alt+X方向键),所以在 top bar 上面点感觉还方便一点。后面换了新鼠标就更方便了,也就不再需要这个插件了。

上面有些插件在命令行中去安装可能会有不同的名称,还是上面中的建议,不建议直接安装系统插件,基于用户的美化就基于用户操作就行了,不要做多于的事情。

推荐

主题推荐

icon theme(图标主题)

Home Page

创建 ~/.themes 目录,将icon目录丢入其中

alt text

alt text

alt text

Shell Theme(主界面主题)

这里Shell意为操作Kernel的外壳,GNOME 就是一个带有GUI的Shell。这么理解就行了。

这里推荐的是Orchis gtk theme

Home Page

alt text

该主题是可以自定义的,无论是颜色、样式、紧凑还是边框半径,都是可以自定义的。如果你不想自定义你也完全可以使用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

光标主题

光标主题推荐的是

字体

编程字体

编程字体,意味着能够在写代码时提供辅助效果的字体样式,普通的字体样式,在中英文混合的情况下会出现参差不齐的情况,无法辨别相似字体例如O0olI1,连字符无法准确分辨等。

这种编程字体,学名称为 等宽可变字体。相应的字体也并不是只有一个,我将向你推荐几种编程字体,并告知您我最终的选择:

  • 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官方都没有的鼠标操作,例如,按住+右移等。

项目Home Page

我的鼠标是 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界面如下:

alt text

在开始配置主题之前,你需要安装GRUB定制器,以简化对GRUB的管理。

sudo add-apt-repository ppa:danielrichter2007/grub-customizer

sudo apt install grub-customizer

你可以前往GNOME的主题商店选择您喜欢的主题,下载后启动命令行运行 install.sh 脚本即可,需要添加sudo权限。

下面是我选择的主题:
Fallout

alt text

配置中文输入法

推荐使用 fcitx5,你可以查看我的另外一篇文章。

这里是永久链接

引用

字体推荐

系统美化

Fctix 5 皮肤