NOI Linux 2.0 上手体验
时隔多年,CCF 终于发布了新版的 NOI Linux ,替换了以前基于 Ubuntu 14.04 的 NOI Linux 1.4.1。
在 NOI Linux 2.0 发布的当天,我就迫不及待地下载好了镜像(ubuntu-noi-v2.0.iso
),但由于时间原因,没有第一时间进行体验。
安装
首先先新建好一台虚拟机。
新建虚拟机及挂载镜像的步骤不再过多叙述,在安装时需要断开网络连接。
开屏就是自定义的启动界面。
安装后需要连接网络,运行 sudo apt update
更新软件包列表,然后安装 open-vm-tools-desktop
,安装完成后建议重启虚拟机。
简单体验
整体评价
- 在考场上如果提供 NOI Linux 虚拟机的话,可能需要手动安装 VMware Tools (因为没网所以不能装 Open VM Tools),略麻烦。
- 系统操作有点卡,不知道是不是因为虚拟机的原因。
- 预装的软件部分是处于半残状态的,在考场上无法正常使用。
- 编译器版本较新,默认支持一些新的语言特性。
- 在考场上推荐使用 Sublime Text 或者 Code::Blocks 进行代码编写,不推荐使用 VSCode 。
更新
模拟考试环境时不建议安装任何更新,以还原考场上的「本真的」NOI Linux 。如果需要日常使用则建议安装更新。
VSCode
CCF 预置在 NOI Linux 2.0 中的 VSCode 只能当一个编辑器,并且并没有安装中文语言包和完整的 C/C++ 扩展,处于半残状态。
Sublime Text
相比于 VSCode ,NOI Linux 预装的 Sublime Text 的自动补全功能在始终离线的环境下依旧能正常工作,同时 Sublime Text 也支持单文件编译运行,颜值也不低,写起代码来很舒服。
Code::Blocks
Code::Blocks 是一个免费、开源、跨平台的集成开发环境,可以在 codeblocks.org 上找到系统对应版本的 Code::Blocks 预编译二进制包及其源码。
NOI Linux 中内置的 Code::Blocks 的自动补全、代码提示等功能均能正常使用,且不需要网络连接。
Nano
关于 Nano 此处就不再过多叙述,可以在 The GNU nano homepage 上找到系统对应版本的 Nano 预编译二进制包及其源码。
Emacs
笔者并没有深度体验过 Emacs ,所以不做过多评价,在这里推荐一篇入门教程:Emacs 入门指南:Why & How - Keep Coding 。
可以在 GNU Emacs 找到系统对应版本的 Emacs 预编译二进制包及其源码。
Vim
Vim 还是老样子,可以在 vim.org 上找到系统对应版本的 Vim 预编译二进制包及其源码,关于 Vim 的使用请参阅 第九章、vim 程式編輯器 - 鳥哥的 Linux 私房菜。
编译器
使用
g++ -dM -E -x c++ /dev/null | grep -F __cplusplus
命令可以查看编译器默认使用的 C++ 标准。
通过上图可以得出 NOI Linux 自带的编译器默认的 C++ 标准是 C++ 14 ,希望 CCF 在比赛评测的时候不要添加 --std=c++98
,同时选手也需要做好无法使用 C++ 14 特性的准备。
对拍
NOI Linux 2.0 依旧安装了 Arbiter 评测系统,但是由于系统内置了 Python ,所以可以自行编写对拍程序。
后记
NOI Linux 的本次更新使得 NOI Linux 系统更加地人性化、更加适合 OIer 们的使用。美中不足的一点是此版本的 NOI Linux 仍然没有卸载 openssh-client
软件包。