linux系统搭建记录(nobara)

主力linux系统搭建记录

导言

在最近的学习之中,彻底彻底对vim的操作哲学所折服,遂作出以下决定

  1. 彻底抛弃win,使用linux作为主力操作系统,尝试将其调整成为日常主力使用操作系统
  2. 在linux系统中拥抱vim操作哲学,在日常中逐渐抛弃鼠标使用

在这篇文章里涉及到的内容包括但不限于

  1. linux桌面系统的使用与调整,win生态软件的迁移
  2. 如何逐步抛弃日常鼠标的使用(vim的使用方法记录)

本篇文章基于2022款matebook13s进行编写,该笔记本配置为

CPU:11th Gen Intel® Core™ i5-11300H

RAM:16GB

ROM:2.0TB

本文章章节分布为

  1. nobora系统安装与调整
  2. vim使用记录
  3. ...未定

nobora系统安装与调整

概述

使用该系统于个人原因有两点

  1. 我一直以来都是fedora的忠实用户,但截止于2023.8.13日为止,fedora+kde的官方版本在我的台式机上经常崩溃,且其本身对于笔记本的支持真的很不友好(华为笔记本的各项驱动适配不好,如触摸板、屏幕等使用体验非常糟糕),在这种前提之下想尝试使用fedora的第三方发行版。
  2. 群友推荐

nobora系统官网为https://nobaraproject.org/,官方认为nobora项目是为了给新手用的

we want to be more point and click friendly, and avoid the basic user from having to open the terminal

...

but for new users, point and click ease of use is usually expected.

总结为,在保留fedora特性的情况下对新手用户很友好,基于此使用该系统作为主力系统使用.

nobara部署与安装

  1. 准备一个空u盘
  2. 下载以下文件
    1. nobara官网iso文件,在本篇文章中下载的iso版本为Nobara-38-Official-2023-07-27.iso,网址参考上文给出的官网
    2. 前往fedora官网下载fedora media writer,用以烧录iso文件,网址为https://www.fedoraproject.org/workstation/download/
  3. 笔记本在win下右键我的电脑-管理-虚拟磁盘管理,对磁盘进行压缩,压缩出的空间为linux实际安装的空间,压缩卷完成后,可以选择赋予盘符,也可不赋予盘符
  4. 使用fedora media writer对空U盘进行烧录
  5. 笔记本关机,插入U盘,选择U盘启动,并进入live系统中
  6. 笔记本联网和插入电源后,直接就可进行安装,注意,若是在第3步选择不赋予盘符,就在安装时选择install alongside,如果赋予了盘符,就选择另外一个选项replace a partition,具体的文档可以参考nobara如何通过alongside模式安装双系统
  7. 一路next安装即可完成双系统安装
  8. 如果要使用grub进行win以及linux的引导的话,需要在bios中关闭对win的引导

    注意:

    是关闭win引导,而不是删除win引导,关闭win引导是为了开机进入grub

  9. 成功进入nobara,界面如下
    nobara界面

nobara系统调整

该部分主要涉及linux日常使用安装的安装与调试

日常软件使用

  1. nobara系统更新,参考nobara如何更新系统

    sudo dnf update rpmfusion-nonfree-release rpmfusion-free-release fedora-repos nobara-repos --refresh && sudo dnf distro-sync --refresh && sudo dnf update --refresh
    
  2. vscode安装,参考fedora和centos如何安装vscode

  3. 更新fedora软件仓库,由于nobara是基于fedora的发行版,使用fedora的源即可,参考清华源fedora软件仓库使用帮助,参考该网站的手动替换部分

  4. 更新rpmFusion软件仓库,参考清华源RPMFusion 软件仓库镜像使用帮助

  5. 更新AppStream metadata,这个主要是用于维护Gnome/KDE Software Discover里的软件,参考rpmfussion的官方文档中关于AppStream metadata的部分

  6. flatpak配置
    flatpak是阶段比较常用的包管理工具,但是访问速度比较慢,参考fedora flathub镜像或者上海交大flathub镜像,这两个链接参考其中一个就可以,上海交大的链接更改的是全局配置,fedora的链接推荐更改的是用户配置,如果两个链接都参考了可能会产生冲突

  7. iso数据盘刻录
    使用Brasero进行刻录

    yum search brasero
    sudo yum install <package name>
    

    选择多段数据光盘刻录,选择new Data project,在左上角Add里选择需要刻录的文件,在软件下方点击burn,如下图所示

    文件选取

    选择数据追加,然后点击Import,即可完成刻录

    文件刻录

  8. fcitx安装

    • 截止至2023.08.13为止,fcitx更新到了fcitx5,使用yum搜索相应的包并进行安装

      yum search fcitx5
      sudo yum install <Package Name>
      

      在本机上安装的fcitx5插件为

      [soap@soap-pc yum.repos.d]$ yum list installed|grep fcitx5
      fcitx5.x86_64                                             5.0.23-1.fc38                       @fedora                   
      fcitx5-chinese-addons.x86_64                              5.0.17-1.fc38                       @fedora                   
      fcitx5-chinese-addons-data.noarch                         5.0.17-1.fc38                       @fedora                   
      fcitx5-configtool.x86_64                                  5.0.17-1.fc38                       @fedora                   
      fcitx5-data.noarch                                        5.0.23-1.fc38                       @fedora                   
      fcitx5-gtk.x86_64                                         5.0.23-1.fc38                       @fedora                   
      fcitx5-gtk2.x86_64                                        5.0.23-1.fc38                       @fedora                   
      fcitx5-gtk3.x86_64                                        5.0.23-1.fc38                       @fedora                   
      fcitx5-gtk4.x86_64                                        5.0.23-1.fc38                       @fedora                   
      fcitx5-lua.x86_64                                         5.0.10-2.fc38                       @fedora                   
      fcitx5-qt.x86_64                                          5.0.17-10.fc38                      @updates                  
      fcitx5-qt-libfcitx5qt5widgets.x86_64                      5.0.17-10.fc38                      @updates                  
      fcitx5-qt-libfcitx5qtdbus.x86_64                          5.0.17-10.fc38                      @updates                  
      fcitx5-qt-module.x86_64                                   5.0.17-10.fc38                      @updates                  
      fcitx5-qt6.x86_64                                         5.0.17-10.fc38                      @updates                  
      fcitx5-rime.x86_64                                        5.0.16-1.fc38                       @fedora                   
      

      理论上只需要下载fcitx5-chinese-addons,fcitx5,fcitx5-rime即可将以上包内容全部下载

    • 配置fcitx5,参考arch wiki 关于fcitx,具体查看Set environment variables for IM modules章节,在非root用户下设置fcitx5作为环境变量

      [soap@soap-pc yum.repos.d]$ vim ~/.bashrc
      

      在文件中添加

      GTK_IM_MODULE=fcitx
      QT_IM_MODULE=fcitx
      XMODIFIERS=@im=fcitx
      

      并设置环境变量生效即可

      source ~/.bashrc
      

      设置开机自启动,在gnome-tweaks中(菜单栏搜索tweaks即可)找到startup Application选项,添加fcitx5即可

      fcitx5开机自启动

    • 配置中文输入法,打开fcitx5 Configuration(菜单栏搜索即可),不勾选only show current language,在右边栏search Input method 中输入chinese并添加rime输入法,apply之后选择rime输入法即可

      fcitx配置选项1

      fcitx配置选项2

  9. rime相关配置

    rime是在fcitx框架之下所安装的输入法

    rime的配置也是有值得记录的地方,主要分为两个部分

    1. 东风破配置及各路输入法安装
    2. 外观调整

    东风破是rime的调整配置工具,以下是具体调整

    • 东风破配置及各路输入法安装

      • 东风破配置

        前往东风破官网进行下载安装

        curl -fsSL https://raw.githubusercontent.com/rime/plum/master/rime-install | bash
        

        在本文是直接clone了整个项目直接运行rime-install文件进行的安装

    • 下载所需输入法

      在本文中,以下载双拼作为示范

      在rime官方github页面中找到双拼页面,按照提示进行安装

      bash rime-install double-pinyin
      

      其中,rime-install文件位置就在东风破的clone位置

      本文使用fcitx5,参考userData页面,相应配置文件在~/.local/share/fcitx5/rime/中,进入该路径进行具体配置

      不要在~/.config/ibus/rime/里进行更改,虽然该路径下也有相应配置文件,但是修改后并不会生效

      在本文中,~/.local/share/fcitx5/rime/目录下,文件为

      [soap@soap-pc rime]$ ls
      build                installation.yaml   sync
      luna_pinyin.userdb  user.yaml
      

      新建一个default.custom.yaml文件,参考~/.config/ibus/rime/路径下的default.yaml文件以及必知必会中的方案定义章节,更改schema里的内容即可,可参考我的配置文件

      patch:
        schema_list:
          - schema: luna_pinyin          # 朙月拼音
          - schema: luna_pinyin_simp     # 朙月拼音 简化字模式
          - schema: double_pinyin_flypy  # 小鹤双拼
      

      重新部署fcitx5以及rime即可完成输入法的添加

    • 外观调整

    参考fcitx5-material-color

  10. win生态安装

    概述:安装win生态软件诸如微信,需要在wine下进行安装,在本篇文章中利用flathub平台安装bottles解决

    前往bottles官网查看下载安装方式,官方推荐也是使用flatpak进行安装

    前往flathub页面进行安装

    然后就可以安装exe等文件了

  11. win虚拟机安装

    概述:bottles以及wine对于window的支持我在实际体验下来还是有点问题,而在现有网络环境下,要真正用好linux还是有点问题的.比如bottles就存在依赖无法下载的问题,flatpak以及日常的yum,dnf都可以通过源来解决,但是终归是治标不治本.所以我认为还是有必要使用虚拟机,本章节围绕win虚拟机安装及部署进行说明

    具体思路:gnome-boxes很好,但是gnome-boxes的上手难度真的有点高,单纯装一个win肯定是没什么问题的,问题在于在虚拟机以及主机的相互通信(etc:文件夹共享)上,处理难度很高.需要处理spice-gtk等一系列问题,本人技术有限,遂决定使用virtual-box进行安装

    步骤:

    1. virtual-box安装及镜像部署

      virtual-box安装

      yum search virtual-box
      sudo yum install <package-name>
      

      镜像部署

      于msdn上下载了win7镜像,一路next就装上了,下图为具体虚拟机配置,仅供参考

      虚拟机配置

      分配了4G内存+4核CPU+32G硬盘

    2. 共享文件夹处理

      思路:win和linux的文件传递通过网络共享进行文件,需要主机和虚拟机同时进行配置

      具体步骤

      1. 虚拟机开启网络共享并关闭防火墙

        win7开启网络共享并关闭防火墙

        控制面板设置

        防火墙设置

        网络共享设置

      2. 主机开启文件共享

        在主机系统设置里面进行配置,点击Sharing->file sharing,进行配置,如下图所示即可

        主机文件共享设置

      3. virtual-box相关配置

        打开virtual-box,右键虚拟机,点击Settings,在Shared Folders里进行相应设置,如下图所示

        共享文件夹设置

        在本文中,主机的挂载点为/home/soap/Public,虚拟机的挂载点为e:

        双击进入虚拟机,在titile栏找到Devices选项卡,注意Insert Guest Additions CD image...选项

        主机增强插件

        该选项意思为对主机功能进行加强扩展

        官方文档中对其解释为

        As mentioned in Section 1.2, “Some Terminology”, the Guest Additions are designed to be installed inside a virtual machine after the guest operating system has been installed. They consist of device drivers and system applications that optimize the guest operating system for better performance and usability. See Section 3.1, “Supported Guest Operating Systems” for details on what guest operating systems are fully supported with Guest Additions by Oracle VM VirtualBox.

        The Oracle VM VirtualBox Guest Additions for all supported guest operating systems are provided as a single CD-ROM image file which is called VBoxGuestAdditions.iso. This image file is located in the installation directory of Oracle VM VirtualBox. To install the Guest Additions for a particular VM, you mount this ISO file in your VM as a virtual CD-ROM and install from there.

        总结,Guest Additions能够增强主机能力,并且该拓展以CDrom形式进行安装,在4.3章节就有关于Shared Folders的详细介绍,有兴趣可以去看一看

        所以上文中的Insert Guest Additions CD image...就是让你安装该拓展,由于网络原因,直接下是下载不下来的,所以需要下载对应iso,文件进行手动安装

        前往virtualbox下载地址,选择对应版本并下载VBoxGuestAdditions,下载下来后在虚拟机中的Devices->Optical Drives->Choose a disk file...选择刚刚下载的iso文件,双击运行安装即可

        guest Additions镜像文件选择

      到目前为止,主机与虚拟机之间的共享文件夹已配置完成,打开主机的文件管理器/Public路径,以及虚拟机中的网络位置,如下图所示

      效果图

      文件共享功能配置成功

简易美化

  1. 桌面美化

    前往Gnome Shell Extensions以及Gnome look自行折腾即可

    Gnome Shell Extensions需要通过Extensions Manager进行管理,Gnome theme需要通过Gnome tweaks进行管理,本文下载的拓展以及主题如下图所示

    extension下载示例

    Gnome theme下载示例

    最终效果如图所示

    桌面最终效果

  2. 命令行美化

    概述:命令行美化可以概述为oh-my-posh在shell以及vscode中的配置,依此该章节可分为两部分进行实施

    步骤:

    1. oh-my-posh安装以及shell美化
    2. vscode terminal美化

    具体实施

    1. oh-my-posh安装

      curl -s https://ohmyposh.dev/install.sh | bash -s
      

      以上命令根据提示加上sudo

      在本文,进入oh-my-poshgithub下载页面,下载posh-linux-amd64以及themes.zip

      cd ~/Downloads
      mv posh-linux-amd64 /usr/local/bin
      cd /usr/local/bin
      chmod u+x oh-my-posh
      cd ~
      vim ~/.bashrc
      

      ~/.bashrc文件中加入以下语句

      eval "$(oh-my-posh init bash --config /home/soap/.config/oh-my-posh/jandedobbeleer.omp.json)"
      

      在命令行中继续输入

      cd ~/Downloads
      mkdir themes
      mv themes.zip ./themes
      unzip ./themes/themes.zip
      rm ./themes/themes.zip
      mkdir /home/soap/.config/oh-my-posh
      mv ./themes/jandedobbeleer.omp.json /home/soap/.config/oh-my-posh 
      chmod 777 /home/soap/.config/oh-my-posh/jandedobbeleer.omp.json
      source ~/.bashrc
      oh-my-posh init bash
      

      到目前为止oh-my-posh已经安装完成,但系统字体并不是Nerd Fonts,现阶段使用oh-my-posh会存在字体乱码的问题,所以需要更换字体,参考官网原文解释

      Oh My Posh was designed to use Nerd Fonts. Nerd Fonts are popular fonts that are patched to include icons.

      在本文中,由于网络环境,直接安装会存在问题

       soap    bin   8ms⠀   oh-my-posh font install                           
      failed to get nerd fonts release
      

      该问题暂时未找到解决方法,遂决定手动安装相应字体

      前往Nerd Fonts下载字体

      参考官方文档安装字体,在本文中安装AurulenSansMono

      cd ~/Downloads
      mkdir AurulentSansMono
      mv AurulenSansMono.zip ./AurulentSansMono
      cd AurulenSansMOno
      unzip ./AurulentSansMono.zip 
      rm ./AurulentSansMono.zip
      cd ..
      sudo mv  AurulentSanMono/ /usr/local/share/fonts
      sudo chown -R root: /usr/local/share/fonts/AurulentSanMono/
      sudo chmod 644 /usr/local/share/fonts/AurulentSanMono/*
      sudo restorecon -vFr /usr/local/share/fonts/AurulentSanMono/                   
      sudo fc-cache -v
      

      到目前为止,字体已经安装完成,打开gnome-font-viewer查看是否安装成功

      sudo dnf install gnome-font-viewer
      

      如下图所示,第三个往后就是下载的字体,在tweaks->Fonts中也可以看到相应字体的成功安装

      font viewer界面

      terminal->Preferences->profles->Text->Custom font中设置相应字体即可

      terminal设置字体

    2. vscode terminal 美化

      terminal.integrated.fontFamily 中设置相应字体即可

      vscode terminal美化

无鼠标使用配置记录

桌面相关

  • Extension Manager 中下载 Floating Dock 以及 AltTab Mod
    • 前者为悬浮dock栏,该拓展有vim模式,可使用快捷键打开常用软件
    • 后者为窗口切换拓展,可以使用 hjkl 进行窗口选择
  • 在firefox中下载并使用 Tridactyl 插件,相似的插件也有,在拓展商城里可以搜到

vscode相关

  • 在vscode中安装vim以及IME and Cursor插件
  • 前者是为了模拟vim键位,后者是为了解决vim模式下中英文切换的问题
$> cd /usr/bin
$> ls fcitx5
fcitx5                        fcitx5-gtk3-immodule-probing
fcitx5-config-qt              fcitx5-gtk4-immodule-probing
fcitx5-configtool             fcitx5-qt5-immodule-probing
fcitx5-diagnose               fcitx5-qt6-immodule-probing
fcitx5-gtk2-immodule-probing  fcitx5-remote
$> fcitx5-remote  # 英文输入法下敲入该命令,获取输入法id
1
$> fcitx5-remote # 中文输入法下敲入该命令,获取中文输入法id
2
$> fcitx5-remote -t {im} # 进行中英文输入法之间的切换
  • 基于以上命令,配置IME and Cursor插件

IME and Cursor

  • 解决vscode下中英文切换问题
posted @ 2023-09-30 18:03  五花肉炒河粉  阅读(727)  评论(0)    收藏  举报