从零配置Ubuntu全过程

UPDATE: 2024.6.12.加入星火商店安装程序
UPDATE: 2024.11.16.加入Ubuntu24.04相关内容

My Ubuntu

第一次安装 Ubuntu22.04 LTS 记录下安装遇到的问题和解决方法。

Ubuntu22.04 Orchis主题桌面

Ubuntu22.04配置后效果图

当前Ubuntu已经能够完美支持微信(不完全是原生)和QQ(原生)了,文档处理使用WPS完全足够,已经达到日常办公所需的全部要求,还有更高效的代码运行速度😆(我的毕设就完全是在Ubuntu24.04上完成的)

Ubuntu24.04配置后效果图

打开GRUB界面:安装开始全部安装前,我们先观察下BIOS界面过后,我们有没有看到grub界面(一个可以通过上下键选择进入不同Ubuntu版本、恢复模式、Windows(如果有)的界面)如果没有,请最好在第一次启动Ubuntu可视化界面后,先将其打开(避免安装出错都进不了恢复模式):

sudo gedit /etc/default/grub  # Ubuntu 22.04
sudo gnome-text-editor /etc/default/grub  # Ubuntu 24.04

找到如下两行修改为

# GRUB_TIMEOUT_STYLE=hidden  # 在前面加上个#注释掉
GRUB_TIMEOUT=10  # 从0改成10,表示有10秒的选择时间,否则默认进入第一个模式

保存退出,执行sudo update-grub即可。

安装内容(推荐顺序安装)

开始安装软件前记得换源,安装完Ubuntu修改apt源,安装完miniforge后记得对conda,pip换源。

老方法:Nvidia驱动安装方法:CSDN-【ubunbu 22.04】 手把手教你安装nvidia驱动
2024.6.12 更新:安装了很多次Nvidia驱动,推荐方法还是按照 Ubuntu 官方给出的安装方法,使用 sudo ubuntu-drivers list 查看建议安装的 Nvidia 驱动,sudo ubuntu-drivers install nvidia:535 安装指定的显卡版本,重启即可。

  1. 中文输入法(使用Fcitx5中的pinyin,注意如果动态链接库版本过高请使用 aptitude 进行适当降级,如果使用的是Ubuntu20.04是无法安装Fcitx5的,推荐使用搜狗输入法,效果也不错)
  2. 主题自定义(安装 gnome-tweakschrome-gnome-shell 用于主题配置)
  3. 配置终端(安装vim, git,并对git进行ssh文件配置,zsh, oh-my-zsh,配置vim,直接从我的 dotfiles 然后直接执行 ./setup.sh
  4. Clash for Windows
  5. 安装星火商店,从而安装QQ,微信,网易云,WPS等等软件
  6. 安装LaTeX(LaTeX速度是Windows上的数倍,编译多长的文件都是一秒不到)
  7. 安装g++, mambaforge
  8. 安装Blog配置(安装nvm,nodejs,npm,cnpm,hexo)
  9. 安装TensorFlow和Jupyter,配置Jupyter主题、matplotlib字体

Ubuntu基础知识

Linux基础路径解释和vim的基础用法可以参考Blog中的 在服务器上配置shell - Linux基础知识 部分。

下载命令

安装安装包

首先对Ubuntu安装包下载地址换源,清华源官网中方法写的非常清楚(记得备份)

Ubuntu的安装包后缀一般为 .deb 可以使用

sudo apt install ./package.deb  # 可能出现可视化窗口,需要通过 tab 选中 ok 按钮,然后 enter 回车
sudo dpkg -i package.deb  #  直接安装

Ubuntu的安装有 aptapt-get 两种,查看全部安装包和卸载安装包方法如下

sudo apt list | grep fcitx  # 查看全部包含 fcitx 名称的安装包
# 推荐使用 purge 可以删除相关的无用文件
sudo apt-get purge 'fcitx*'  # 可以删除全部以 fcitx 开头的安装包,避免卸载不干净

如果从git上clone下来的仓库中,有脚本安装文件以 *.sh 结尾,需要先赋予运行权限,然后执行:

# 例如安装脚本名称为 install.sh
chmod 777 install.sh  # 赋予权限
./install.sh  # 执行安装

下载url链接文件

下载url连接所用的命令,stack overflow - What does “wget -O” mean?

wget URL  # 默认下到当前目录下
wget 'URL'  # 如果链接太长记得加上单引号
wget -P ~/Downloads URL  # 将文件下载到目录 ~/Downloads 中
wget -O- ~/Downloads URL | sh  # 将*.sh文件直接用sh命令进行安装

Ubuntu常用路径

所有以 . 开头的文件名都是隐藏文件,要在Ubuntu的文件管理器中显示可以看下图操作:

显示隐藏文件 显示隐藏文件Ubuntu24.04
显示隐藏文件Ubuntu22.04 显示隐藏文件Ubuntu24.04

Ubuntu中有以下的一些常用路径,便于后续找到文件位置:

  • 根目录下可执行文件位于 /bin/ 文件夹内。
  • 用户安装的字体位于 ~/.local/share/fonts/ 文件夹内。
  • 用户配置的搜索栏应用快捷图标位于 ~/.local/share/applications/ 文件夹内。
  • 用户配置的开机自启位于 ~/.config/autostart/ 文件夹内(如果不是自定义启动文件,推荐使用tweaks设置开机启动项)。
  • 安装完主题配置插件 User Themes 后,~/.icons 文件夹用于保存主题图标和鼠标图标,~/.themes 用于保存GNOME窗口配色。

重要配置

安装中文输入法

常用有两种输入法:Fcitx, IBus

使用了Fcitx4和IBus输入法后,最终选择了比较新的Fcitx5,输入非常流畅,比较推荐使用,安装教程参考 知乎 - Ubuntu22.04安装Fcitx5中文输入法(详细)

环境变量配置(参考知乎 - 开心的使用fcitx5进行输入):

  1. ~/.xprofile 中加入如下信息(没有文件则进行创建,用于 X11 的环境变量配置)
export XIM="fcitx"
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
  1. ~/.pam_environment 中加入如下信息(没有文件则进行创建)
GTK_IM_MODULE DEFAULT=fcitx
QT_IM_MODULE  DEFAULT=fcitx
XMODIFIERS    DEFAULT=\@im=fcitx
SDL_IM_MODULE DEFAULT=fcitx

最后是外观修改,可以在下文主题自定义中更新完FireFox和安装完 chrome-gnome-shell 之后,安装 Input Method Panel,即可修改输入法颜色,最好的是还能修改字体大小,非常好用。

如果无法安装Fcitx5可以使用搜狗输入法,效果也不错,可以自定义外观,在输入的文本框中右键设置即可对其进行配置。搜狗输入法-官方下载及安装教程

关键!!!:如果你之前更新过Ubuntu,就会导致安装过程中提示依赖包确实,这时候就需要使用 aptitude 对包进行降级(不推荐对主用机进行频繁升级):

sudo apt install aptitude
sudo aptitude install fcitx5-chinese-addons  # 例如我之前无法安装fcitx5-chinese-addons
# 首先它会向你介绍需要哪些安装报,主要看remove,install,downgrade哪些包,如果remove的包中有相关的依赖包,例如包含fcitx名称的,就继续按`n`然后回车,让它给你更多的选择,由于之前升级了包,所以主要看是否有之前包版本进行了downgrade,如果有,则按`y`然后回车进行安装。反复多试几次就能装上。

使用Fcitx4输入法可以安装搜狗输入法,但是比较老,不推荐使用,参考 CSDN - Ubuntu 22.04安装搜狗输入法

IBus 输入法会经常卡顿,不推荐使用,以下是以前安装IBus的方法,参考 知乎 - 安装ibus中文输入法(Linux/Ubuntu)

主题自定义

这里无需修改Firefox版本,也可以使用gnome-shell,只需要下载插件 GNOME Shell 即可直接而使用。

安装插件管理器

sudo apt install gnome-tweaks  # gnome管理器
sudo apt install chrome-gnome-shell  # 插件管理器
sudo apt install gnome-shell-extensions  # 安装extension,可以配置安装的插件

安装完后打开网页(https://extensions.gnome.org/),点击上面信任插件安装,最后效果如下:

FireFox浏览器管理插件

需要先在 extension manager 中安装 User Themes,才能进一步进行下述操作,安装主题可参考 Give Your GNOME A Fresh And Elegant Look With Orchis Theme 2022 | Ubuntu 22.04 Customization

注意:Ubuntu24.04可能无法在菜单栏中找到Extensions管理插件,但是我们可以直接在网址(https://extensions.gnome.org/)的上方点击Installed extensions,找到我们想要修改配置的插件,点击右侧的小齿轮按钮即可打开对应的配置菜单。

主题配置可以从 gnome look(一个开源的配置gnome外观的网站) 中选择自己喜欢的配置,我的选择有以下三个,修改文件的方式均是在tweaks - Appearance中进行修改:

tweaks外观配置

  1. 窗口外观:Orchis gtk theme,使用方法,将文件解压后,放到 ~/.themes 文件夹下。

  2. 图标:Candy icons,使用方法,将文件解压后,然后放到 ~/.icons 文件夹下。

好用的插件

  1. Input Method Panel:在输入法中提到,用于修改输入法字体大小并与主题颜色相配。
  2. Dash to Dock (支持Ubuntu 24.04)Dash to Dock for COSMIC (old):用来配置边框栏。(解决ubuntu使用Dash to dock后休眠出现重影两个dock,方法很简单删除gnome默认的ubuntu-dock即可 sudo apt remove gnome-shell-extension-ubuntu-dock)
  3. Blur my Shell:用于锁屏有背景雾化效果。
  4. OpenWeather Refined (支持Ubuntu 24.04, OpenWeather (old):在上方显示天气和温度。

配置终端

首先安装vim, git,并将vim的粘贴板和系统的绑定:

注:安装插件 vim-gtk(3) 之后,就可以通过 + 这个寄存器和系统粘贴版共享数据了,使用方法和其他寄存器类似 " + y 拷贝, " + p 粘贴。
由于按 + 号蛮复杂的,所以可以直接将二者绑定在一起,如果在删除或拷贝某些内容后,需要重新调用系统剪切板,可以用 " + p 进行粘贴。
另一种很好的方法是将剪切板帮顶为 ; y 这样也非常方便。

sudo apt install vim git
sudo apt install vim-gtk  # 将vim和剪切板绑定的软件
sudo apt install vim-gtk3  # Ubuntu24.04安装包的名称变了

并设置git的SSH key并上传到自己的GitHub上:

ssh-keygen -t rsa -b 4096  # 生成ssh密钥
vim ~/.ssh/id_rsa.pub  # 复制内部的全部文字,拷贝到Settings - SSH and GPG keys - New SSH key粘贴进去

保存GitHub登陆密码,由于现在GitHub使用token进行登陆,为了避免每次都要拷贝,可以只输入一次,然后设置git存储下来,以后就不用再找了:

git config --global credential.helper store  # 设置为存储密码
# 在下次要求输入密码时,从Settings - Developer settings(最下面) - Personal access tokens - Tokens(classic) - Generate new token - Generate new token(classic) 然后全部选中(可以选择永久时长的),最后生成,拷贝给出的token,输入到shell中登陆,以后就再也不用输入u密码了

下载zsh和oh-my-zsh,使用国内的镜像,国外的可能无法下载下来:

sudo apt install zsh
# 国内下载并安装链接
sh -c "$(wget -O- https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"
# 国外下载并安装链接
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

可以直接从我的dotfiles中配置zsh,oh-my-zsh,vim,介绍内容已经写的非常详细了,有一键安装脚本。

Clash安装、快捷方式、自动启动

Clash科学上网:我使用的是 Clash for windows 也就是可视化的Clash,参考教程:Linux/ubuntu下实现科学上网使用 clash for windows 详细步骤,对应的YouTube教程:https://www.youtube.com/watch?v=pTlso8m_iRk&t=314s

设置开机自启,在目录 ~/.config/autostart/ 下用vim编辑 clash.desktop 文件并保存

[Desktop Entry]
Name=Clash
Type=Application
Exec=/home/wty/Programs/Clash/cfw

自定义菜单

参考YouTube教程:How to add appimage to Linux menu,网页教程来自 archLinux Desktop entries,以创建 clash 的快捷方式为例:

cd ~/.local/share/applications/  # 该文件夹存储 .desktop 后缀的文件,该文件的格式如网站中所描述,下面是一个例子
vim clash.desktop
[Desktop Entry]
# 文件类型
Type = Application
# 文件名称,用于搜索
Name = Clash
# 文件的可执行文件绝对路径
Exec = /home/wty/Programs/Clash/cfw
# 可选项,文件图标,从晚上下载下来即可
Icon = /home/wty/Pictures/icons/clash.png
# 使用下面代码检查正确性
desktop-file-validate clash.desktop
# 保存文件后,输入以下命令刷新菜单,完成配置
update-desktop-database ~/.local/share/applications

自定义菜单效果图

星火商店

星火商店是一款国产开源软件安装平台,可以非常方便地安装:QQ, 微信, 网易云, WPS, VSCode。

2024.06.12 更新:后来才发现星火应用商店这个国产的好东西,我在 Ubuntu 22.04 和 Ubuntu 24.04 上都进行了测试,如下安装方法没有问题,首先到gitee - 星火应用商店 Spark-Store上下载最新的 *_amd64.deb

sudo apt install *_amd64.deb  # 可能出现报错

如果上述命令出现报错,我们记录下缺的是什么包,例如我的是dpkg-dev,一般是其他包的版本过高导致的我们又需要aptitude对其他包进行降级:

sudo apt install aptitude
sudo aptitude install [你缺的包]
# 我们看返回的介绍信息, 一直按n回车, 直到出现downgrade并安装我们要装的包, 再按y回车即可

安装完成缺失的包后,我们再用sudo apt install *_amd64.deb安装星火商店就能成功了!

安装完毕后:在菜单中打开 spark-store,搜索 QQ, WeChat, 网易云直接安装即可。

LaTeX

LaTeX的安装包和Windows通用,LaTeX安装参考 知乎 - Ubuntu(20.04 LTS) OS 下 VS Code + LaTeX 快速配置指南

# 加入到./zshrc或者./bashrc中,我装的是2021版本的,具体根据自己安装的版本写
export PATH=/usr/local/texlive/2021/bin/x86_64-linux:$PATH
export PATH=/usr/local/texlive/2021/texmf-dist/scripts/latexindent:$PATH
export MANPATH=/usr/local/texlive/2021/texmf-dist/doc/man:$MANPATH
export INFOPATH=/usr/local/texlive/2021/texmf-dist/doc/info:$INFOPATH

中文字体配置,配置给定的字体,英文字体族配置教程(中文类似):Specify different fonts for bold and italic with fontspec,全部为以下10个字体(均已放到 Latex-Product/Fonts 下),全部安装完成后就可以直接运行我的LaTeX文件了。

全部字体

由于LaTeX可以直接使用到用户安装的字体,所以只要找到字体的正确名称即可,使用以下命令找到相应的字体:

sudo fc-cache -fv  # 更新字体缓存
fc-list | grep "home"  # fc-list 列出所有字体,grep "home" 筛选出路径中包含 "home" 的字体

通过上述方法可以找到相应的字体,看到 .ttf 文件后的名称就是在LaTeX中配置的名称:

显示用户目录下已有字体

WPS缺失字体及PDF导出问题

星火商店中安装的貌似修复此问题了

WPS 2019https://www.wps.cn/product/wpslinux

缺失图像字体从这里下载 百度网盘 - wps_symbol_fonts,提取码:m5jw,将解压后的文件夹放到用户字体目录 ~/.local/share/fonts 中然后重启wps解决问题。
wps解决确实字体问题

2024.5.24更新:Ubuntu 24.04中出现无法打开与导出PDF,原因在于Ubuntu 23.04之后就更新为libtiff.so.6,因此WPS无法找到 libtiff.so.5 文件,需要创建一个软连接指向 libtiff.so.6

cd /usr/lib/x86_64-linux-gnu
sudo ln -s libtiff.so.6 libtiff.so.5

安装g++, miniforge

sudo apt install g++  # gcc无需安装,系统自带

通过miniforge中base环境下的python作为系统默认python,从 GitHub - miniforge 上直接下载安装包,现在推荐安装 mambaforge,安装方法和功能与miniforge完全一样,只不过用mamba命令代替conda,并且有多线程下载,下载速度起飞!

chmod 777 Mambaforge-23.1.0-1-Linux-x86_64.sh  # 赋予可执行权限
./Mambaforge-23.1.0-1-Linux-x86_64.sh  # 开始安装,自行设定安装位置
# 在安装选项最后选择是否默认打开,需要输入y回车

这样重启终端就能看到默认进入base环境了,如果安装最后忘记配置了,我们进入mambaforge安装文件夹下找到mamba,执行mamba init即可。

安装完python后第一件事还是换源(现在不换源好像也挺快的😻):conda 清华源pip 清华源

安装Blog配置

如果你有自己的博客,可以参考我的Blog配置中的安装nvm, nodejs, npm, cnpm, hexo的方法(并且换源,简单有效)

安装TensorFlow & Jupyter

由于没有显卡,直接使用pip安装TensorFlow,Jupyter notebook建议使用mamba安装。

pip install tensorflow
mamba install jupyter notebook

在Jupyter中使用Vim方法见:怎么在Jupyter Notebook里使用vim?,安装主题见:Jupyter notebook 主题颜色配置

Matplotlib绘图中文字体无法显示:首先在该网站 下载SimHei.ttf 字体,先直接进行安装,看是否可以显示,如果不行则进行以下操作:在Jupyter Notebook中执行以下代码,找到 mpl-data 文件夹

import matplotlib
matplotlib.matplotlib_fname()

进入 .../site-packages/matplotlib/mpl-data/fonts/ttf 中,将刚刚下载的字体复制进来,然后重启内核即可显示中文字体。

Ubuntu优化

开启休眠模式

参考另一片博文 Ubuntu 22.04 设置休眠选项

Firefox浏览器双指缩放

Ubuntu24.04在wayland模式下默认就开启了多指操作功能了,非常方便。

参考 CSDN - Ubuntu Linux下开启Firefox浏览器对触屏缩放的支持,修改配置文件 /etc/security/pam_env.conf,在最后一行加上 MOZ_USE_XINPUT2 DEFAULT=1

sudo gedit /etc/security/pam_env.conf

Firefox浏览器双指缩放配置1.png

并且在Firefox浏览器中网址栏输入 about:config,查找 dom.w3c_touch_events.enabled 并设置为 1
Firefox浏览器双指缩放配置2.png

登出再登入即可解决问题!

中文字体显示问题

参考文章 CSDN - Ubuntu添加和设置默认中文字体。Ubuntu的默认中文字体是韩语中的汉字,部分字体非常难看,而且有些繁体和简体不分,例如“将”和“径”这些字,修改文件

  • Ubuntu 22.04: sudo vim /etc/fonts/conf.d/64-language-selector-prefer.conf
  • Ubuntu 24.04: sudo vim /etc/fonts/conf.d/64-language-selector-cjk-prefer.conf

然后将带有 SC 的字体提到第一位(CaskaydiaCove Nerd Font这个字体是我喜欢用的等宽字体,可以在 GitHub - nerd font - CascadiaCode.zip 下载到该字体):

查找可用字体详细全称,可以通过 fc-list | grep "你想找的字体名称" 查找

中文字体修正

登出用户,再登入即可看到修改后的效果。

非常可惜,GNOME的终端中使用代码连字符(Ligature)的功能,参考 How can I enable firacode ligature on gnome-terminal?

主题配置-背景写字

(由于无法与三指切换配合,切换时字会显示出来,很难看,所以弃用)

自定义动态壁纸

使用Ubuntu自带的Shotwell就能实现自定义动态壁纸,首先确定壁纸文件夹,然后打开Shotwell,点击左上角 File - Import from folder 选择你的图片文件夹,然后点击 Import 加载进来,最后选中你要播放的图片,在点击左上角 File - Set as Desktop Sildeshow,自己设定转换时间即可。

自定义动态壁纸

Ubuntu常用快捷键

截图

使用Ubuntu自带的截图功能:

Alt + PrintScreen  # 截取当前程序窗口
PrintScreen  # 使用自带截图工具进行截图

Ubuntu常用工具

drawing

绘图工具,类似windows的画图,常与截图键结合

sudo apt install drawing

下载SourceForge一个文件夹内的所有文件

参考:https://stackoverflow.com/questions/39668291/download-whole-folder-from-sourceforge,用网页连接替换掉 <URL> 即可。

curl "<URL>" | tr '"' "\n" | grep "sourceforge.net/projects/.*/download"  | sort  | uniq | while read url; do url=`echo $url | sed 's|/download$||'`; wget $url ; done

常见问题

Ubuntu自动更新内核后黑屏

我的情况:有Nvidia显卡的电脑上,当Ubuntu自动更新内核后,登录界面输入密码后就会黑屏,我认为原因在于 Nvidia 显卡驱动和内核版本号绑定,Gnome 可视化界面又和 Nvidia 驱动绑定,因此需要先重装 Nvidia 驱动,再重装 Gnome 才能解决,具体方法:

  1. Ctrl + Alt + F3 进入 tty 纯命令行模式;
  2. 重装 Nvidia 驱动
sudo apt purge "nvidia-driver*"
sudo apt autoremove
sudo ubuntu-drivers list  # 查看可安装的驱动版本
sudo apt install nvidia-driver-535  # 例如我的驱动版本为535
  1. 重装 gnome-shell,会将 gdm3, ubuntu-desktop 都全部重新安装一遍
sudo apt purge gnome-shell
# 如果退出了命令行界面,按 Ctrl+Alt+F3 重新进入
sudo apt install gnome-shell
reboot  # 重启再输入命令看是否可以进入可视化界面

如果你既有核显也有独显,一定要检查在BIOS中是否把独显打开,可以使用system76-power来切换nvidia(独显), integrated(集显), hybrid(混合)三种模式,参考Graphics Switching (Ubuntu)


从零配置Ubuntu全过程
https://wty-yy.github.io/posts/46722/
作者
wty
发布于
2023年4月1日
许可协议