之前打ICPC用的wf镜像,不适应ubuntu系统的各种操作,其实队伍里面只有我不会。本文记录一些日常使用ubuntu中遇到的一些问题,以后如果上相关的选修课也可以用用

安装软件

一些软件给linux系统提供了好几种版本,比如X86,ARM,LoogArch、MIPS等,这四种版本的区别:
X86(或x86_64): 适用于大多数个人计算机和服务器的标准桌面和服务器硬件,通常是Intel或AMD处理器。
ARM: 适用于基于ARM架构的设备,如某些嵌入式系统、智能手机、平板电脑等。
loongArch(龙芯架构): 龙芯是中国的一个处理器架构,适用于支持龙芯架构的硬件。
MIPS: 适用于MIPS架构的硬件,这种架构在嵌入式系统和某些网络设备中较为常见。

1
2
3
4
查看ubuntu系统的版本信息
lsb_release -a
查看硬件架构
uname -m

选了架构之后,下载的软件包又分为三种:
三个不同的包格式(.rpm、.deb、AppImage)在Linux中用于软件管理,它们有一些基本的区别:
.rpm(Red Hat Package Manager): 主要用于基于Red Hat的发行版,如Fedora、openSUSE、CentOS等。这种包格式是通过Red Hat开发的,用于简化软件的安装、升级和卸载。
.deb(Debian Package): 用于Debian及其衍生发行版,如Ubuntu。Debian包管理系统使用.deb格式,也是一种用于简化软件管理的包格式。
AppImage: 是一种独立的可执行软件包格式,不依赖于特定的包管理系统。AppImage封装了应用程序及其依赖项,可以在多个不同的Linux发行版上运行,而无需安装。这使得AppImage更具有可移植性。
关于.deb:
1.找到.deb文件所在的目录,打开终端
2.输入命令$ sudo dpkg -i xxx.deb
*如果出现依赖向错误,可以使用

1
2
3
4
5
6
7
8
# 1、更新源
sudo apt-get update

# 2、fix解决依赖关系
sudo apt-get -f install

# 3、再次安装xxx.deb
sudo dpkg -i xxx.deb

关于.AppImage:
需要先给这个加权限

1
2
chmod +x example.AppImage  # 赋予可执行权限
./example.AppImage # 运行应用程序

+xchmod 命令的一个选项,用于赋予文件可执行权限。在 Unix 和 Linux 系统中,文件权限包括读取 (read, r)、写入 (write, w) 和执行 (execute, x)。这些权限可以分别应用于文件的所有者、所在组和其他用户。
具体来说,chmod +x <filename> 命令用于将文件 <filename> 标记为可执行文件,这样用户就可以运行这个文件。

  • r(read) - 读取权限
  • w(write) - 写入权限
  • x(execute) - 执行权限

然后就会发现双击打不开,在命令行中显示要FUSE
安装FUSE

1
2
sudo add-apt-repository universe
sudo apt install libfuse2

然后就行了

扩展磁盘

扩展之前要先把快照删掉,扩展完之后还要在操作系统中设置才能真正的使用,不然是属于未分配的空间(扩展完最好先保存快照防止意外)。
方法也很简单,Ubuntu自带一个disk工具,打开之后就可以选择一个分区扩容,直接拉到最大即可

配置clash

参考Linux(ubuntu)系统安装和使用clash
下载压缩包,解压文件,在终端中打开使用命令sudo vim .env
编辑文件,将其改为:

1
2
export CLASH_URL='URL'
export CLASH_SECRET='1111'

CLASH_SECRET='1111'将其设置为1111是方便输入密码,不填的话默认是随即字符串。
输入:

1
sudo bash start.sh

然后和教程里的步骤不一样,直接用默认的就行不用改什么ip地址。
直接

1
source /etc/profile.d/clash.sh

即可。
然后proxy_on打开代理。
要进入图形化界面对代理进行设置。
输入ip a查看地址。
其中有一行的前面是这样的:

1
inet xxx.xxx.xxx.xxx/xxx brd xxx.xxx.xxx.xxx

这里inet后面的xxx.xxx.xxx.xxx就是ip地址。
http://xxx.xxx.xxx.xxx:9090/ui/中的xxx.xxx.xxx.xxx替换为自己的ip地址,打开这个链接,然后在API Base URL后填上http://127.0.0.1:9090(默认的那个),就是网址去掉/ui后的内容,在Secret这一栏填上设置的密码(1111),然后点击add,下方就会多出一个选项,点进去就行。
成功的话长这样:

因为clash对7890端口开放,

所以还要手动设置,按照知乎里面那篇文章设置

然后就没问题了,关闭代理只要在终端输入sudo bash shutdown.shproxy_off
有点麻烦的是每次开机要重新设置,sudo bash start,proxy_on,切到手动网络配置。有时间写个.sh
upd:问chat要了个脚本
开启代理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/bash

# 第一行命令:使用sudo权限执行start.sh脚本
sudo bash start.sh

# 第二行命令:载入/etc/profile.d/clash.sh文件
source /etc/profile.d/clash.sh

# 第三行命令:执行proxy_on命令
proxy_on

# 设置网络代理为手动配置
gsettings set org.gnome.system.proxy mode 'manual'

# 设置HTTP代理
gsettings set org.gnome.system.proxy.http host 'ip'
gsettings set org.gnome.system.proxy.http port xxxx # 设置HTTP代理端口

# 设置HTTPS代理
gsettings set org.gnome.system.proxy.https host 'ip'
gsettings set org.gnome.system.proxy.https port xxxx # 设置HTTPS代理端口

# 设置FTP代理
gsettings set org.gnome.system.proxy.ftp host 'ip'
gsettings set org.gnome.system.proxy.ftp port xxxx # 设置FTP代理端口

# 设置SOCKS代理
gsettings set org.gnome.system.proxy.socks host 'ip'
gsettings set org.gnome.system.proxy.socks port xxxx # 设置SOCKS代理端口

暂时关闭代理

1
2
3
#!/bin/bash

gsettings set org.gnome.system.proxy mode 'auto'

重新开启代理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/bash

# 设置网络代理为手动配置
gsettings set org.gnome.system.proxy mode 'manual'

# 设置HTTP代理
gsettings set org.gnome.system.proxy.http host 'ip'
gsettings set org.gnome.system.proxy.http port xxxx # 设置HTTP代理端口

# 设置HTTPS代理
gsettings set org.gnome.system.proxy.https host 'ip'
gsettings set org.gnome.system.proxy.https port xxxx # 设置HTTPS代理端口

# 设置FTP代理
gsettings set org.gnome.system.proxy.ftp host 'ip'
gsettings set org.gnome.system.proxy.ftp port xxxx # 设置FTP代理端口

# 设置SOCKS代理
gsettings set org.gnome.system.proxy.socks host 'ip'
gsettings set org.gnome.system.proxy.socks port xxxx # 设置SOCKS代理端口

c/c++环境的搭建

配置vim

参考:https://www.bilibili.com/video/BV16P4y1X7xQ/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=d8e94394d339be4a8b0e2b575781e097
下载c/c++插件https://www.bilibili.com/video/BV16P4y1X7xQ/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=d8e94394d339be4a8b0e2b575781e097
如果装vim-plug报错:https://www.cnblogs.com/yutian-blogs/p/12904221.html
升级nodejs版本https://blog.csdn.net/fuhanghang/article/details/133853433
安装cochttps://github.com/neoclide/coc.nvim
coc json的设置 https://github.com/godotc/toys/blob/main/coc-settings.json

配置clion

直接用命令

1
2
3
sudo snap install clion --classic
可以加上制定版本
sudo snap install clion --channel=2021.1 --classic

还要安装make,gcc,g++这些

1
2
3
sudo apt install make
sudo apt install gcc
sudo apt install g++

然后就可以运行了
关于apt:
Linux apt 命令

配置cpeditor

cpeditor与clion相比较为轻量级,占用的资源也很少比较适合在虚拟机这可怜的内存里面运行
下载地址
没有代码补全功能是真的很难受,对于我这样的唐氏选手很不友好……就当练练手速了。
安装clang-format用于格式化代码

1
sudo apt-get install clang-format

配置redpanda

有代码补全,算是一个折中的方案了,平时训练可以用用cpeditor,一些比赛就还是带上代码补全会好一些。
下载链接
居然感觉比win端的体验要舒服一些。