HyperV Ubuntu虚拟机开启增强会话 调整分辨率 启用剪切板

在 HyperV 下 Windows 系虚拟机默认就能够开启增强会话。在增强会话下可以方便地和宿主机共享剪切板与文件,并且在增强会话开启时也能够比较方便地调整分辨率。而 Ubuntu 等 Linux 系统下则默认为基本会话,分辨率的调整需要修改引导文件,而剪切板和宿主机是独立的非常不方便。 进过查找,找到了一种可以在 Ubuntu 20.04 下开启增强会话的方法,使用后有效,遂在此记录。 首先需要开启增强会话的话必须先在创建虚拟机的时候开启第二代虚拟机选项,在首次启动的时候关闭 Secure Boot。记得在安装 Ubuntu 的时候不要开启自动登录选项。 在终端下输入 % wget https://raw.githubusercontent.com/Hinara/linux-vm-tools/ubuntu20-04/ubuntu/20.04/install.sh % sudo chmod +x install.sh % sudo ./install.sh 在 Windows Power Shell 运行以下命令,然后重启。 \> Set-VM -VMName <your\_vm\_name> -EnhancedSessionTransportType HvSocket 重启后,就能看到链接虚拟机后会话已经为增强会话模式而后 Ubuntu 进入的 XRDP 登录页面,此时正常输入用户名密码即可。

2021年5月25日

解决oh-my-zsh plugin 'zsh-autosuggestions' not found 与 plugin 'zsh-syntax-highlighting' not found问题

安装 zsh 插件 zsh-autosuggestions 或者 zsh-syntax-highlighting 的时候,我们一般会遇到 oh-my-zsh plugin ‘xxx’ not found 的问题。现在,我们分析并解决 oh-my-zsh plugin ‘zsh-autosuggestions’ not found 与 plugin ‘zsh-syntax-highlighting’ not found 问题。 问题产生的原因是,没有把插件的代码仓库克隆到本地位置上,所以你想要的插件其实并没有被安装。 解决问题非常简单,只需要简单输入以下命令: $ git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions $ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting $ source ~/.zshrc 然后,你可以重新打开 shell,可以发现问题已解决。你也可以用该方法解决其他插件的此类问题。

2021年5月25日

Synology Drive版本控制功能使用心得

经过一段时间对于 Synology Drive 的版本控制功能的使用,总结出以下不建议使用版本控制的常见使用场景: Synology Drive 版本控制不适用于对音乐库与视频库的版本控制。这两种场景适合使用回收站机制来管理。因为音乐和视频库的容量变动幅度较大,在一段时间内进行大量的删除或者格式转换操作后,磁盘可用空间将迅速下降。不建议将音乐库与视频库加入到版本控制。 版本控制不适用于对于应用程序相关数据文件(例如 Docker 容器的映射目录下的相关文件)的备份,经过长期观察,版本控制对文件修改并不敏感。我往往发现经常变动的应用程序数据文件一直维持在较老的版本,并没有在应用程序对该文件作出修改后立即备份上一版本。建议使用 Cloud Sync 或者 Hyper Backup 对应用程序数据文件进行备份。 上述问题经过长期使用总结出,如果发现其他问题则会更新此文章。

2021年5月19日

通过Gparted Live ISO可引导镜像调整硬盘分区大小

介绍 手上有一张安装了 Openwrt 的 8G 的 TF 卡,根分区的容量已经不太能够满足我的使用需求了。所以开始着手扩大根分区的大小。根分区的所使用的的文件系统格式是 Ext4。首先,尝试使用 DiskGenius 等 Windows 下的工具进行扩容,很遗憾都不可以。于是准备使用 Gparted 进行扩容。由于该工具需要在 Linux 环境下运行,我不太想安装为此安装一个 Linux 发行版虚拟机所以使用 Gparted 的轻量 ISO 镜像配合 Virtual Box 虚拟机进行使用。 准备工作 首先下载安装 VritualBox 虚拟机和 VM VirtualBox Extension Pack。VirtualBox 并默认不支持 USB 外设操作,所以要安装而外后者来为 VirtualBox 添加 USB2.0、USB3.0 等外设支持。 VirtualBox 下载地址 VM VirtualBox Extension Pack 以上两者下载完后,先安装 VirtualBox。 然后安装 VM VirtualBox Extension Pack,具体在首选项界面扩展栏目中安装。 下载 GParted Live CD/USB/HD/PXE Bootable Image,下载链接。 步骤 创建虚拟机,分配单核、内存 512MB 即可,可以不创建虚拟硬盘。 在虚拟机设置界面中,在 USB 设备栏目中启用 USB 控制器,根据需要选择 USB2.0 或者 USB3.0。 在储存栏目光驱下,选择下载好的 ISO 镜像,启动虚拟机。 在第一个引导菜单中选择第一项。 而后,按步骤一次选择或者输入Dont touch keymap, 26(简体中文),0(启动 X Window 系统)。 然后就能够进入图形界面了,点击桌面上的 Gparted 工具镜像分区操作。 分区后,记得点击应用。 ...

2021年2月9日

YouCompleteMe C/C++ VIM CMake 工程 代码提示不可用问题

YouCompleteMe 介绍 如果安装完YouCompleteMe并配置好后(本站有过程记录,点击这里查看),就可以使用单文件来检测代码提示效果了。但是,当 S&E 打开他的 C/C++工程时,却发现代码提示、跳转等功能不能正常使用。在查阅文档后,S&E 发现原来是 YouCompleteMe 相关的索引数据库没有建立,相关的编译选项并不正确,所以 YouCompleteMe 所使用的的 clangd 就不能将多个源文件联系起来。 建立 C/C++ VIM 代码提示索引的方法 如果是使用 CMake 建立工程,则可以在 CMakeList.txt 中加入 set( CMAKE\_EXPORT\_COMPILE\_COMMANDS ON ) 或者在命令行 cmake 后加上-DCMAKE_EXPORT_COMPILE_COMMANDS=ON也行 建立索引的原理 YouCompleteMe 读取由构建系统 CMake 生成的编译数据库(通常名字叫做 compile_commands.json),这样就可以完成对于工程文件的索引。而编译数据库包含项目中每个编译单元的编译器调用。YouCompleteMe 会寻找打开文件所在目录中的 compile_commands.json,如果没找到会递归地向上查找这个文件。如果在它找到.ycm_extra_conf.py 之前,找到了 compile_commands.json,那么它就会停止搜索,然后,让 clangd 处理接管并处理该文件中含有的标志。 在完成上述这些操作后,YouCompleteMe 的相关功能就可以正常使用了。

2021年2月6日

Vim 代码提示插件 YouCompleteMe 安装与配置

介绍 对于在 Vim 下的 C/C++程序编写,如果有代码提示插件会大大提高编写效率。大型 IDE 用的多了,刚回归 Vim 的 S&E 比较依赖这个。正好 YouCompleteMe 能够满足他的相关需求。索性把安装与配置的过程记录在这里,以供下次回忆使用。 除了 C/C++,YouCompleteMe 支持 Java、Go、C#、Objective-C、CUDA 等,可以说是比较强大了。但是话说,写 Java 为什么要用 Vim 呢?IDEA 貌似更好。 使用后发现这插件还支持代码跳转、引用查找、修改函数名和格式调整等操作,挺方便。 Giuhub 仓库地址:https://github.com/ycm-core/YouCompleteMe 前置条件 安装最新的 YouCompleteMe 插件需要满足一些条件 Vim 8.1 以上 并且启用了 Python3 扩展支持(本站有过程记录,点击这里查看) GCC 8 以上 或者 Clang 7 以上 Python3.6 以上编译的时候有–enable-shared 选项(一般包管理器安装都带有) 对于 Debian 10, 通过包管理器安装的 Gcc 版本为 8.3.0。 然后可以通过以下命令查看编译器版本 % cc -v 对于 python3 的版本,使用以下命令查看 % python3 --version 对于 Vim 版本,使用执行以下命令查看 % vim --version 检查完以上依赖后,也执行一下以下命令确认安装相关依赖 % sudo apt install build-essential cmake vim-nox python3-dev 安装 先确认用过了 Vim 插件管理器安装了 YouCompleteMe,推荐使用Vundle。 确认安装了 YouCompleteMe 后,进行下面的步骤 如果你想要安装所有的功能,包括 Java(JDK 8),Go、C#等代码提示功能,可以直接执行以下命令安装 ...

2021年2月6日

Vim主题 spf13-vim.sh 的安装与使用

Vim 主题介绍 我经常使用 vim 为在 Linux 下的主要的代码编辑器。每当 SSH 进入一个新的开发系统环境,为了编写方便,他总是需要手动安装 Vim 并配置各类常用插件。spf13-vim.sh 是一个使用于 Vim 的插件和相关资源的发行版。一条命令,即可以自动安装常用的配套的插件环境。 Github 仓库地址:https://github.com/spf13/spf13-vim 心得 S&E 感觉这个就好像快速安装了一个以 Vim 为核心的 IDE(可以类比 Vscode)。然后,spf13-vim.sh 产生一个比较规范的 vim 配置文件层次结构,方便后来再添加其他插件,也避免无规划地手动添加插件产生的杂乱的配置文件。而且,把相关插件的优化和配置工作丢给它后,省心了不少。 安装 前置条件: git curl vim 7.3 以上 本站有安装 Vim 8.2 的相关过程记录:点击这里查看 对于 Debian 10 可以简单地执行以下命令安装 git 和 curl % sudo apt install git curl 然后对于 Unix/Linux、Mac OS 等,执行以下命令一键安装 spf13-vim.sh % curl https://j.mp/spf13-vim3 -L > spf13-vim.sh && sh spf13-vim.sh (对于 Windows 系统,请参考 Github 仓库中的 ReadME.md) 更新方法 可以通过执行以下命令一键更新 ...

2021年2月6日

Vim 8.2 源码编译安装 添加Python3扩展

介绍 为了安装 YouCompleteMe 这类插件,需要将 Vim 升级至比较高的版本并且启用 Python3 扩展。所以,这里提供的是通过源码安装 Vim 最新版本的过程记录。 这里使用到的 Vim 源代码仓库地址:https://github.com/vim/vim/ 编译安装默认版本 在编译安装之前先要安装相关的工具以及依赖 % sudo apt install git make clang libpython3-dev 选择适当的目录执行克隆命令 % git clone https://github.com/vim/vim.git 克隆成功后会出现 vim 目录,进入该目录下的 src 目录 % cd vim/src 执行编译(为了加快速度可以替换执行% make -j4来并行编译) % make 执行测试 % make test 默认安装到/usr/local 目录下 % sudo make install ``` 开启Python3扩展支持 ------------- 在上述操作完成后,打开该目录下的Makefile文件,找到`"CONF_OPT_PYTHON3 = --enable-python3interp"`并取消注释该行,保存。 执行命令更新编译参数`make reconfig`

2021年2月6日