[
  {
    "path": "README.md",
    "content": "# 搭建舒适的Ubuntu使用环境(主22.04/从18.04)\n\n## 由来\n一直在使用`Windows 10`，同时也是一个重装环境专业户，很多时候由于系统损坏、被未知程序劫持等原因导致不得不重装系统。\n\n之前的实验室时光中有接触过Ubuntu，当时第一印象是：一款基于Linux的系统，图形化界面做的也不错，但并不是重度使用者。毕业后后来到新公司一直在使用Ubuntu进行开发，恰逢家中PC系统犯病，决定重装双系统(`Windows 10`作为备胎用;`Ubuntu`作为主系统日常使用)。\n\n公司使用的`Ubuntu 18.04`感觉适配性很差，体验非常不好；实验室时期用的`Ubuntu 20.04`感觉还行；得知`Ubuntu 22.04`已经出了，于是决定装一个体验一下，没想到体验以后有些甩不掉了，UI、适配比之前都要好，于是决定记录一下`Ubuntu`自安装后的使用过程。\n\n现在有点像是`Ubuntu`的重度使用者了！\n\n## 目录\n得益于广大社区开发者的贡献，才能让我整合出以下可行方案。  \n<a href=\"https://space.bilibili.com/329028108\" target=\"_blank\">我的B站</a> | <a href=\"https://afeng616.github.io\" target=\"_blank\">我的博客</a>\n\n[pre-安装Ubuntu系统](./documents/pre-安装Ubuntu系统.md)\n\n[00-修复Ubuntu引导](./documents/00-修复Ubuntu引导.md)\n[00-系统问题及解决方案](./documents/00-系统问题及解决方案.md)  \n[01-clash安装](./documents/01-clash安装.md)  \n[02-微信安装](./documents/02-安装微信.md)  \n[03-磁盘挂载](./documents/03-硬盘挂载.md)  \n[04-安装qq音乐](documents/04-安装qq音乐.md)  \n[05-安装QQ/TIM](documents/05-安装TIM_QQ.md)  \n[06-快捷键相关](documents/06-快捷键.md)  \n[07-深度学习开发环境](documents/07-深度学习开发环境.md)  \n[08-安装Redis](documents/08-安装redis.md)  \n[09-VSCode常用插件](documents/09-vscode常用插件.md)  \n\n[99-常用工具推荐](documents/99-常用工具推荐.md)\n"
  },
  {
    "path": "documents/00-修复Ubuntu引导.md",
    "content": "# 修复Ubuntu引导\n\n这两天又在折腾系统，没想到把Ubuntu的引导给搞坏了，导致开机无法找到之前的Ubuntu引导，无法进入Ubuntu系统。  \n在网上各种资料都没有解决我的问题，最后在csdn上找到了一个repair的方案[^method]。\n\n## 准备工作\n\n1. 与安装Ubuntu系统的准备工作一样，将系统镜像烧录到U盘里，这里就不赘述了；\n2. 进入系统安装引导后，依然选择第一项`try or install ubuntu`；\n3. 进入系统后，选择左侧的`try ubuntu`；\n4. <kbd>Ctrl</kbd><kbd>Alt</kbd><kbd>T</kbd>打开终端，输入以下命令，安装`boot-repair`工具；\n```shell\nsudo add-apt-repository ppa:yannubuntu/boot-repair\nsudo apt-get update\nsudo apt-get install -y boot-repair\n```\n5. 运行`boot-repair`工具，选择`Recommended repair`，等待工具自动修复引导问题；\n6. 弹出`Boot successfully repaired`提示后，重启电脑，即可看到引导界面，选择`Ubuntu`即可进入系统。\n\n\n\n[^method]: [CSDN: ubuntu启动盘修复grub引导](https://blog.csdn.net/kevin_1996/article/details/124086483)"
  },
  {
    "path": "documents/00-系统问题及解决方案.md",
    "content": "# Ubuntu22.04部分问题及解决方案\n\n## Chrome浏览器弹出文件选择框后整体页面卡死\n```shell\nsudo apt install xdg-desktop-portal-gnome\n```\n\n## 无法调节亮度\n安装一个亮度调节工具即可，修改亮度后记得保存设置。\n```shell\nsudo add-apt-repository ppa:apandada1/brightness-controller\nsudo apt update\nsudo apt install brightness-controller\n```\n## 系统简繁输入法快捷键关闭(<kbd>Ctrl</kbd><kbd>Shift</kbd><kbd>F</kbd>)\n1. `输入法配置->附加组件->简繁转换`将快捷键配置清除\n2. `~/.config/sogoupinyin/conf/env.ini`文件中设置`ShortCutFanJian=0`\n\n"
  },
  {
    "path": "documents/01-clash安装.md",
    "content": "\n# Clash for Linux\n\n## 应用概述\nClash是一款用Go语言开发，可以在Linux/MacOS/Windows等多平台使用的代理工具，配置也非常简单（特别是在Windows平台），支持ss/v*2ray（不支持ssr），支持规则分流（类似于 Surge 的配置）。\n\n之前使用的[Dreamacro/clash](https://github.com/Dreamacro/clash/releases)项目，作者已经跑路了。好在这次重装系统又找到了一个备份版本。\n\n## 应用配置\n\n### 应用下载与安装\n\n下载当前操作系统与 CPU 架构对应的包文件，我这儿是 X86_64 平台下的，所以对应的使用`clash-linux-amd64-v1.1.0.gz`包即可。(实测`Ubuntu 18.04`/`Ubuntu 20.04`都没问题)\n\n可以通过以下命令完成Clash安装工作。\n\n在[release](https://github.com/afeng616/Build-Cozy-Ubuntu-Environment/releases)中下载`clash-for-linux-base.zip`解压后，里面有两个文件`Country.mmdb`和`clash`。\n\n```shell\n# 解压缩后，移动clash文件\nsudo mv ./clash /usr/local/bin/\nsudo chmod +x /usr/local/bin/clash\n```\n\n### 添加Clash配置文件\n\nClash的运行需要两个文件`Country.mmdb`和`config.yaml`。\n其中`Country.mmdb`在base文件夹里有了，`config.yaml`则存储着节点等配置，一般都是由机场等服务商提供。\n\n**这两个文件缺一不可**\n\n我个人习惯将这些配置文件存在`主目录`下的隐藏文件夹中。\n```shell\nmkdir ~/.clash\nmv ./Country.mmdb ~/.clash\n```\n\n### 设置启动脚本\n创建 systemd 脚本，脚本文件路径为 /etc/systemd/system/clash.service。\n```shell\ncd /etc/systemd/system/\nsudo gedit clash.service\n```\n\n在弹出的文件编辑器中粘贴以下内容，<kbd>Ctrl</kbd><kbd>S</kbd>保存后再关闭。\n\n```service\n[Unit]\nDescription=clash\n\n[Service]\nType=simple\nUser=root\nExecStart=/usr/local/bin/clash -d /home/你的用户名/.clash/\nRestart=on-failure\n\n[Install]\nWantedBy=multi-user.target\n```\n\n使用以下命令设置Clash自启动，并启动Clash\n\n```shell\n# 重载服务配置\nsudo systemctl daemon-reload\n# Clash服务自启动\nsudo systemctl enable clash\n\n# 启动Clash服务\nsudo systemctl start clash\n# 查看Clash状态\nsudo systemctl status clash\n```\n\n### 设置本机网络代理\n打开`设置->网络`，在网络代理一栏选择`手动`，并做出以下配置。\n\n![网络代理设置](../images/01-网络代理设置.png)\n\nhttp代理、https代理: `127.0.0.1` `7890`\n\nsocks主机: `127.0.0.1` `7891`\n\n至此所有配置就已经完成了，可以通过浏览器尝试访问[Youtube](https://www.youtube.com)检测是否设置成功。\n\n\n## Clash可视化\n在Clash设置成功后，直接访问以下链接即可查看当前机场的节点信息，可以实现简单的修改。\n\n[Clash可视化](http://clash.razord.top/#/proxies)\n"
  },
  {
    "path": "documents/02-安装微信.md",
    "content": "# Ubuntu安装微信\n\n## Ubuntu22.04\n可以直接根据开源项目一步步进行安装，完全可行。\n\n[开源项目:deepin-wine](https://github.com/zq1997/deepin-wine)\n\n## Ubuntu18.04\n该版本无法直接通过上述项目直接安装，存在某包无法安装的问题，后来发现了新的可行方案。\n\n[可行方案](https://blog.p2hp.com/archives/8021)\n\n[开源项目:deepin-wine-ubuntu](https://github.com/wszqkzqk/deepin-wine-ubuntu)\n\n## 通过星火商店\n一个Ubuntu上的AppStore——[星火商店](https://www.spark-app.store/)，安装完毕以后，直接打开软件搜索安装即可，是一个国产的用爱维护的社区商店。\n在这个商店里可以选择官方版微信，虽然安装依然基于`wine`系列，但是经过精心维护，不需要自己动手做复杂配置，体验也优于前者。"
  },
  {
    "path": "documents/03-硬盘挂载.md",
    "content": "# 硬盘挂载处理\n一般情况下Ubuntu的文件系统只会加载系统安装时所选择的磁盘分区。\n\n对于安装了双系统的PC，其它分区自然不会主动加载。对于Ubuntu磁盘挂载这个问题在之前一直没有了解过，这一次尝试主要是因为`Ubuntu 22.04`安装以后，在`Dock`中主动显示了磁盘的其他分区(可以直接通过右键进行挂载)。\n\n![dock图](./../images/03-dock.png)\n\n## 磁盘分区挂载\n### 简单方式\n正如上文所述，可以直接在`dock`中选中磁盘分区，使用右键进行挂载操作。\n### 极客方式\n```shell\n# 主要命令\nsudo mount /dev/sda2 /media/afeng/Backups\n```\n\n想要通过命令行实现磁盘挂载，首先必须要知道磁盘分区的卷标名，其次存在磁盘挂载点(就是一个目录)。\n\n先通过[简单方式](#简单方式)将分区挂载，然后通过以下命令得知分卷信息。\n\n```shell\ndf -a\n\n# afeng@afeng:~$ df -a\n# 文件系统           1K-块     已用      可用 已用% 挂载点\n\n# ... 其他分区信息省略\n\n# /dev/sda2      209715196 81966480 127748716   40% /media/afeng/Backups\n# /dev/nvme0n1p6  10484732  4505876   5978856   43% /media/afeng/Codes\n# /dev/nvme0n1p7  10485756    36620  10449136    1% /media/afeng/Notes\n```\n上述三个分区就是我此次想要完成挂载的目标，`/dev/sda2`,`/dev/nvme0n1p6`,`/dev/nvme0n1p7`就是它们的卷标，每次PC重启，这些分区卷标都不会改变(除非认为修改分区)。\n\n通过以下命令完成目标磁盘分区的挂载，挂载点不存在可以手动创建\n```shell\nsudo mkdir /media/afeng/Backups\nsudo mount /dev/sda2 /media/afeng/Backups\n```\n## 磁盘分区自动挂载\n上述通过`mount`方式完成的挂载在每次PC重启时都会失效，在临时挂载时常用，如果想重启不失效可通过以下方法设置开机自动挂载。\n\n添加磁盘挂载信息到相关的配置文件`/etc/fstab`中，完成后重启依然挂载有效。\n```shell\nsudo gedit /etc/fstab\n```\n![fstab添加内容](./../images/03-fstab-add.png)\n\n### 说明\n\n![fstab配置](./../images/03-fstab.png)\n\n文件数据存在6个分段：\n1. 指代文件系统的设备名。最初，该字段只包含待挂载分区的设备名（如/dev/sda1）。现在，除设备名外，还可以包含LABEL或UUID\n2. 文件系统挂载点。文件系统包含挂载点下整个目录树结构里的所有数据，除非其中某个目录又挂载了另一个文件系统\n3. 文件系统类型。下面是多数常见文件系统类型（ext3,tmpfs,devpts,sysfs,proc,swap,vfat）\n4. mount命令选项。mount选项包括noauto（启动时不挂载该文件系统）和ro（只读方式挂载文件系统）等。在该字段里添加用户或属主选项，即可允许该用户挂载文件系统。多个选项之间必须用逗号隔开。其他选项的相关信息可参看mount命令手册页（-o选项处）\n5. 转储文件系统？该字段只在用dump备份时才有意义。数字1表示该文件系统需要转储，0表示不需要转储\n6. 文件系统检查？该字段里的数字表示文件系统是否需要用fsck检查。0表示不必检查该文件系统，数字1示意该文件系统需要先行检查（用于根文件系统）。数字2则表示完成根文件系统检查后，再检查该文件系统\n\n其中分段3文件系统类型(type)在[磁盘挂载](#简单方式)后，使用`blkid`命令进行查看\n```shell\nsudo blkid /dev/sda2\n\n# /dev/sda2: LABEL=\"Backups\" BLOCK_SIZE=\"512\" UUID=\"**********\" TYPE=\"ntfs\" PARTUUID=\"**************\"\n```\n至此磁盘挂载操作就基本完成了。\n\n## 特殊情况\n在使用以上述自动挂载操作一段时间后，突然出现磁盘能挂载但是无法读取磁盘的情况，显示没有权限读取文件分区，同时显示该分区目前文件系统为只读。\n\n翻找尝试了资料半天也没有解决办法，最后发现安装`ntfs-3g`后使用其相关指令后即可正常使用。(同时建议关闭`Windows`系统的快速启动)\n\n同时只需要将`/etc/fstab`中挂载的文件类型`ntfs`改为`ntfs-3g`即可完成日常自动挂载。\n## 参考链接\n[博客园:Ubuntu挂载新硬盘](https://www.cnblogs.com/avril/archive/2010/03/23/1692783.html)\n\n\n"
  },
  {
    "path": "documents/04-安装qq音乐.md",
    "content": "# Ubuntu安装qq音乐\n\n更新于2022-05-29，以下介绍的方法适配于`Ubuntu22.04`。[视频讲解](https://www.bilibili.com/video/BV1Zv4y1c7UY)\n\n## 安装包下载与安装\n1. 前往[qq音乐下载页面](https://y.qq.com/download/download.html)下载你对应的`.deb`安装包。\n2. 下载完毕后，通过`sudo dpkg -i <安装包名>`安装qq音乐。\n\n安装完毕后可以直接在应用列表中找到qq音乐。\n\n## 闪退处理\n虽然是安装成功了，但由于`electron`版本适配等问题目前无法直接正常运行。\n\n### 命令方式启动\n通过命令行添加参数后，可正常启动qq音乐，该方式仅本次运行有效。\n```shell\nqqmusic --no-sandbox\n```\n\n### 一劳永逸方式启动\n通过修改`/usr/share/applications/qqmusic.desktop`文件，可以达到直接点击图标正常启动qq音乐的效果。\n\n```shell\ncd /usr/share/applications\nsudo gedit qqmusic.desktop\n```\n在`Exec`一栏中，`qqmusic`后添加`--no-sandbox`参数即可。(别忘了中间加个空格)\n\n修改完毕后，保存并退出。\n\n至此，qq音乐的安装及相应设置过程就结束了，可以正常使用了。\n\n\n"
  },
  {
    "path": "documents/05-安装TIM_QQ.md",
    "content": "# Ubuntu安装QQ/TIM\n\n[视频讲解](https://www.bilibili.com/video/BV1GL4y1K7Ye)\n## 查看官网\n### QQ官网\n可以在官网找到[Linux版本](https://im.qq.com/linuxqq/index.html)\n![QQ for linux](../images/05-qq-official-download.png)\n\n该版本可以正常使用，不过UI和功能欠佳，没办法满足我的需求，所以QQ官方版放弃。\n\n### TIM官网\n经查询，TIM官方并未发布`Linux`版本安装包，TIM官方版同样放弃。\n![TIM for linux](../images/05-tim-official-download.png)\n\n## 通过星火商店\n一个Ubuntu上的AppStore——[星火商店](https://www.spark-app.store/)，安装完毕以后，直接打开软件搜索安装即可，是一个国产的用爱维护的社区商店。  \n在这个商店里可以选择官方版QQ，虽然安装依然基于`wine`系列，但是经过精心维护，不需要自己动手做复杂配置，体验也优于前者，同时安全性由于第三方QQ。\n\n## 开源项目Icalingua++\n进入项目[Release页面](https://github.com/Icalingua-plus-plus/Icalingua-plus-plus/releases)下载对应.deb包，通过`sudo dpkg -i`安装即可。  \n适配和体验都优于下面所讲的`wine`系列，但由于非官方出品，所以随时有停止维护等可能。\n\n## 开源项目deepin-wine\n得知在`GitHub`中有两个项目`wine`和`deepin-wine`可以完成上述的安装，在之前尝试安装微信时使用的是`wine`，但是依照文档安装后发现有些问题，相对比下使用`deepin-wine`可以直接安装，索性这次也同样选择`deepin-wine`。\n\n### 安装\n依照开源项目[deepin-wine](https://github.com/zq1997/deepin-wine)的文档，添加仓库链接，安装`TIM`/`QQ`即可完成安装。\n```shell\n# 添加仓库链接\nwget -O- https://deepin-wine.i-m.dev/setup.sh | sh\n# 安装TIM\nsudo apt-get install com.qq.office.deepin\n```\n![deepin-wine文档](../images/05-github-deepin-wine-document.png)\n\n### 配置修改\n安装完成后，并不能直接成功运行程序，`TIM`/`QQ`会无响应或者崩溃，在我看来是由于加载文件相对较多导致的。\n\n按照`deepin-wine`项目中`issues`给出的方案可以解决。\n![deepin-wine issues解决方案](../images/05-github-issues-answer.png)\n\n1. 不同的是，我并安装`wine`安装并运行`TIM`/`QQ`，而是直接将`Windows`系统下对应的文件`C:/Users/<用户名>/Documents/Tencent Files/<QQ号>/`替换到了`~/.deepinwine/Deepin-TIM/drive_c/Program Files/Tencent/TIM/Users/<QQ号>/`中\n2. 修改`/opt/deepinwine/tools/run_v4.sh`文件中的`UpdateApp()`函数，使其直接`return`。\n![修改脚本函数](../images/05-edit-shell-function.png)\n\n## 参考链接\n[官网:星火商店](https://www.spark-app.store/)  \n[GitHub开源项目:Icalingua++](https://github.com/Icalingua-plus-plus/Icalingua-plus-plus)\n[GitHub:开源项目deepin-wine](https://github.com/zq1997/deepin-wine)  \n[GitHub:issues解决方案](https://github.com/zq1997/deepin-wine/issues/269)\n"
  },
  {
    "path": "documents/06-快捷键.md",
    "content": "# Ubuntu常用快捷键&自定义按键绑定\n\n作为一个从`Windows`系统过来的人，在这里说明以下：`Ubuntu`中的<kbd>Super</kbd>键实际和`Windows`中的<kbd>Win</kbd>键是同一个键。\n\n\n`Ubuntu`系统默认快捷键可以直接在`设置->设备->键盘`中查看。\n![Ubuntu默认快捷键](../images/06-ubuntu-default-keymaps.png)\n\n## 常用快捷键\n|  |  |\n| - | - |\n| <kbd>PrtSc</kbd> | 截屏 |\n| <kbd>Ctrl</kbd><kbd>Shift</kbd><kbd>Alt</kbd><kbd>R</kbd> | 录屏 |\n||\n| <kbd>Ctrl</kbd><kbd>Alt</kbd><kbd>T</kbd> | 打开终端 |\n| <kbd>Ctrl</kbd><kbd>Alt</kbd><kbd>Del</kbd> | 注销用户 |\n||\n| <kbd>Super</kbd><kbd>A</kbd> | 显示所有应用程序 |\n| <kbd>Super</kbd><kbd>L</kbd> | 锁定屏幕 |\n| <kbd>Super</kbd><kbd>D</kbd> | 显示桌面 |\n| <kbd>Super</kbd><kbd>Tab</kbd> | 应用程序切换 |\n||\n| <kbd>Alt</kbd><kbd>F2</kbd> | 运行一个命令 |\n| <kbd>Alt</kbd><kbd>Tab</kbd> | 应用程序切换 |\n| <kbd>Alt</kbd><kbd>Esc</kbd> | 应用窗口切换 |\n\n## 自定义按键绑定\n多多少少受到了`Windows`系统及程序的影响，所以根据使用习惯做了一些自定义按键绑定。\n\n|  |  |\n| - | - |\n| <kbd>Super</kbd><kbd>I</kbd> | 打开设置 |\n| <kbd>Super</kbd><kbd>E</kbd> | 打开主目录(文件管理器) |\n| <kbd>Super</kbd><kbd>G</kbd> | 打开浏览器 |\n| <kbd>Super</kbd><kbd>R</kbd> | 打开终端 |\n||\n| <kbd>Alt</kbd><kbd>A</kbd> | 截图 |\n| <kbd>Alt</kbd><kbd>↑</kbd> | 音量+ |\n| <kbd>Alt</kbd><kbd>↓</kbd> | 音量- |\n| <kbd>Alt</kbd><kbd>←</kbd> | 上一曲 |\n| <kbd>Alt</kbd><kbd>→</kbd> | 下一曲 |\n\n## 终端中常用快捷键\n\n在终端中的快捷键，可以打开终端后在`编辑->首选项->快捷键`中查看启用。\n![终端默认快捷键](../images/06-ternimal-default-keymaps.png)\n\n|  |  |\n| - | - |\n| <kbd>Ctrl</kbd><kbd>D</kbd> | 结束终端 |\n| <kbd>Ctrl</kbd><kbd>W</kbd> | 删除前一内容段 |\n||\n| <kbd>Ctrl</kbd><kbd>Shift</kbd><kbd>T</kbd> | 新建终端标签页 |\n| <kbd>Ctrl</kbd><kbd>Shift</kbd><kbd>N</kbd> | 新建终端窗口 |\n| <kbd>Ctrl</kbd><kbd>Shift</kbd><kbd>C</kbd> | 复制 |\n| <kbd>Ctrl</kbd><kbd>Shift</kbd><kbd>V</kbd> | 粘贴 |\n| <kbd>Ctrl</kbd><kbd>Shift</kbd><kbd>F</kbd> | 查找 |\n\n\n\n\n"
  },
  {
    "path": "documents/07-深度学习开发环境.md",
    "content": "# Ubuntu搭建深度学习开发环境(Pytorch Tensorflow GPU版本)\n\n## 显卡驱动系列\n深度学习主要涉及到显卡的使用(如开发时使用GPU版本库，就需要提前安装好显卡驱动方可使用)，所以这里主要说明显卡驱动的安装。  \n\n1. 显卡驱动(Driver)  |  [官网:显卡驱动下载](https://www.nvidia.cn/Download/Find.aspx?lang=cn)\n2. CUDA(NVIDIA GPU的并行运算架构)  |  [官网:CUDA下载](https://developer.nvidia.cn/cuda-toolkit-archive)\n3. cuDNN(NVIDIA打造的针对深度神经网络的GPU加速库)  |  [官网:cuDNN下载](https://developer.nvidia.cn/rdp/cudnn-archive)\n\n[B站:显卡驱动安装简要过程](https://www.bilibili.com/video/BV16Y411M7SC)  \n\n以下安装和配置过程建立在显卡驱动、CUDA、cuDNN的基础上。\n\n## Anaconda\nAnaconda主要用作环境管理，包括Python环境和第三方库的安装。个人看来，在需要管理多个不同的工作环境和库版本兼容管理方面使用起来十分方便。(不过确实占用一定磁盘空间)\n\n[官网:Anaconda下载链接](https://www.anaconda.com/download/)  \n下载`.sh`文件后，在终端中通过`./Anaconda3-2022.05-Linux-x86_64.sh`运行安装。\n\n### 配置\n安装后可以直接正常使用，以下配置是可选项(命令行、配置文件皆可)。\n\n1. 换国内源(中科大)  \n   ```shell\n   conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/\n   conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/\n   conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/\n   conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/\n   conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/\n   conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/\n   conda config --set show_channel_urls yes\n   ```\n2. 打开终端是否主动激活Anaconda环境。  \n   使用命令`conda config --set auto_activate_base false`，调整true或false。\n\n\n## Pip\nPip是`Python`默认的库管理工具，可以直接通过`pip install xxxx`命令进行库安装。\n\n### 配置\n1. 换国内源(中科大)  \n   ```shell\n   pip config set global.index-url https://mirrors.cloud.tencent.com/pypi/simple/\n   ```\n   查看当前源\n   ```shell\n   pip config list\n   ```\n   其它源\n   ```\n   # 清华大学\n   https://pypi.tuna.tsinghua.edu.cn/simple\n   # 阿里云\n   http://mirrors.aliyun.com/pypi/simple/\n   # 腾讯云\n   https://mirrors.cloud.tencent.com/pypi/simple/\n   # 中国科技大学\n   https://mirrors.cloud.tencent.com/pypi/simple/\n   # 豆瓣\n   https://pypi.doubanio.com/simple/\n   # 浙江大学\n   https://mirrors.zju.edu.cn/pypi/web/simple/\n   ```\n\n\n\n\n## PyTorch\n[官网:PyTorch安装页面](https://pytorch.org/get-started/locally/)  \n\n结合自身配置选择安装命令。\n\n<hr>\n\n通过代码查看Pytorch GPU版本(CUDA)是否可用。\n```python\nimport torch\n\n# 返回当前设备索引\ntorch.cuda.current_device()\n\n# 返回gpu数量\ntorch.cuda.device_count()\n\n# 返回gpu名称，索引从0开始\ntorch.cuda.get_device_name(0)\n\n# cuda是否可用\ntorch.cuda.is_available()\n```\n\n## Tensorflow\n[官网:Tensorflow安装页面](https://www.tensorflow.org/install?hl=zh-cn)\n```shell\npip install tensorflow\n```\n[官网:Tensorflow GPU支持页面](https://www.tensorflow.org/install/gpu?hl=zh-cn)  \n\n<hr>\n\n通过以下代码查看Tensorflow GPU是否可用\n```python\nimport tensorflow as tf\ntf.config.list_physical_devices('GPU')\n```\n\n\n"
  },
  {
    "path": "documents/08-安装redis.md",
    "content": "# Ubuntu安装Redis\n使用`apt`可以实现快速安装Redis。\n```shell\nsudo apt install redis\n```\n\n安装完毕后，后台会自动运行Redis服务。可以使用`systemctl`查看服务状态。\n```shell\nsudo systemctl status redis\n```\n设置Redis服务的开机启动。\n```shell\nsudo systemctl enable redis-server\n```\n\n## 配置\n\n通过上述方式安装的Redis配置文件为`/etc/redis/redis.conf`，数据存放路径为`/var/lib/redis`，默认无访问权限，需要修改权限。\n```shell\nsudo chmod 777 /etc/redis\nsudo chmod 777 /var/lib/redis\n```\n随后即可根据需要修改配置文件，我的修改如下：\n```\n# 密码\nrequirepass 123456\n# 数据存放路径\ndir /var/lib/redis\n```\n\n修改完毕后，需要重启Redis服务。\n```shell\nsudo systemctl restart redis\n```\n\n## 简单使用\n打开终端\n```shell\n# 开启Redis Client\nredis-cli\n\n# 输入密码\nauth 123456\n\n#查看是否有响应\nping  #PONG\n\n# 新建一个键值对\nset name \"张三\"\n# 查看键值对\nget name\n# 查看所有键\nkeys *\n# 清屏\nclear\n\n```\n\n"
  },
  {
    "path": "documents/09-vscode常用插件.md",
    "content": "# Visual Studio Code常用插件\n个人常用的VSCode插件，插件并不是越多越好！插件本质上是为了提高生产效率，但一味的纠结搜罗插件实属本末倒置。\n\n## 实用工具\n`Clipboard History` 记录剪切板历史  \n`vscode-icons` 图标美化  \n`Excel Viewer` 表格数据格式化  \n`json` 格式化json+整理  \n`Rainbow CSV` csv数据美化  \n`Todo Tree` 自定义注释代码高亮+整理  \n`LeetCode` 力扣刷题  \n`Path Intellisense` 路径补全  \n`Settings Sync` 设置同步  \n`CodeTime` 代码时间记录  \n`WakaTime` 代码时间记录  \n`Color Highlight` 颜色代码高亮  \n`GitLens` Git历史可视化  \n`Markdown Preview Enhanced` 全面的Markdown解析  \n\n\n## 代码工具\n`CMake`  \n`CMake Tools`  \n`Code Runner` 代码快速运行插件  \n`IntelliCode` 代码补全  \n`GitHub Copilot` 代码补全  \n`ROS`  \n\n![插件列表1](../images/09-vscode-extension1.png)  \n![插件列表2](../images/09-vscode-extension2.png)  \n![插件列表3](../images/09-vscode-extension3.png)  \n\n"
  },
  {
    "path": "documents/99-常用工具推荐.md",
    "content": "# Ubuntu系统中常用的工具推荐\n\n## 工具\n一款命令行指令更正工具[The Fuck](https://github.com/nvbn/thefuck)，在终端中意外输错指令，可直接通过这个工具自动更正。一个非必备工具，但是确实挺有意思。  \n一个在Ubuntu上的AppStore——[星火商店](https://www.spark-app.store/)，尝试了一下，用这个商店安装的`微信`蛮好用的，至少比使用`deepin-wine`系列安装的体验好。\n\n\n\n## 参考链接\n\n[GitHub开源项目:The Fuck](https://github.com/nvbn/thefuck)  \n[官网:星火商店](https://www.spark-app.store/)  \n\n"
  },
  {
    "path": "documents/pre-安装Ubuntu系统.md",
    "content": "# 安装Ubuntu系统\n\n## 前期准备工作\n1. U盘(>8G)\n2. 电脑\n3. 系统镜像\n4. 系统烧录工具\n5. 查询快速启动按键\n\n## 步骤\n1. 使用烧录工具将系统镜像烧录到U盘\n2. 通过快捷启动进入U盘安装引导\n3. 根据系统安装引导进行安装\n\n[视频讲解](https://www.bilibili.com/video/BV1YL4y1A7y4/)\n\n\n"
  }
]